\doxysection{cmsis\+\_\+gcc.\+h}
\hypertarget{cmsis__gcc_8h_source}{}\label{cmsis__gcc_8h_source}\index{C:/Users/ASUS/Desktop/dm-\/ctrlH7-\/balance-\/9025test/Drivers/CMSIS/Include/cmsis\_gcc.h@{C:/Users/ASUS/Desktop/dm-\/ctrlH7-\/balance-\/9025test/Drivers/CMSIS/Include/cmsis\_gcc.h}}
\mbox{\hyperlink{cmsis__gcc_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{comment}{/**************************************************************************/}}
\DoxyCodeLine{00007\ \textcolor{comment}{/*}}
\DoxyCodeLine{00008\ \textcolor{comment}{\ *\ Copyright\ (c)\ 2009-\/2019\ Arm\ Limited.\ All\ rights\ reserved.}}
\DoxyCodeLine{00009\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00010\ \textcolor{comment}{\ *\ SPDX-\/License-\/Identifier:\ Apache-\/2.0}}
\DoxyCodeLine{00011\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00012\ \textcolor{comment}{\ *\ Licensed\ under\ the\ Apache\ License,\ Version\ 2.0\ (the\ License);\ you\ may}}
\DoxyCodeLine{00013\ \textcolor{comment}{\ *\ not\ use\ this\ file\ except\ in\ compliance\ with\ the\ License.}}
\DoxyCodeLine{00014\ \textcolor{comment}{\ *\ You\ may\ obtain\ a\ copy\ of\ the\ License\ at}}
\DoxyCodeLine{00015\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00016\ \textcolor{comment}{\ *\ www.apache.org/licenses/LICENSE-\/2.0}}
\DoxyCodeLine{00017\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00018\ \textcolor{comment}{\ *\ Unless\ required\ by\ applicable\ law\ or\ agreed\ to\ in\ writing,\ software}}
\DoxyCodeLine{00019\ \textcolor{comment}{\ *\ distributed\ under\ the\ License\ is\ distributed\ on\ an\ AS\ IS\ BASIS,\ WITHOUT}}
\DoxyCodeLine{00020\ \textcolor{comment}{\ *\ WARRANTIES\ OR\ CONDITIONS\ OF\ ANY\ KIND,\ either\ express\ or\ implied.}}
\DoxyCodeLine{00021\ \textcolor{comment}{\ *\ See\ the\ License\ for\ the\ specific\ language\ governing\ permissions\ and}}
\DoxyCodeLine{00022\ \textcolor{comment}{\ *\ limitations\ under\ the\ License.}}
\DoxyCodeLine{00023\ \textcolor{comment}{\ */}}
\DoxyCodeLine{00024\ }
\DoxyCodeLine{00025\ \textcolor{preprocessor}{\#ifndef\ \_\_CMSIS\_GCC\_H}}
\DoxyCodeLine{00026\ \textcolor{preprocessor}{\#define\ \_\_CMSIS\_GCC\_H}}
\DoxyCodeLine{00027\ }
\DoxyCodeLine{00028\ \textcolor{comment}{/*\ ignore\ some\ GCC\ warnings\ */}}
\DoxyCodeLine{00029\ \textcolor{preprocessor}{\#pragma\ GCC\ diagnostic\ push}}
\DoxyCodeLine{00030\ \textcolor{preprocessor}{\#pragma\ GCC\ diagnostic\ ignored\ "{}-\/Wsign-\/conversion"{}}}
\DoxyCodeLine{00031\ \textcolor{preprocessor}{\#pragma\ GCC\ diagnostic\ ignored\ "{}-\/Wconversion"{}}}
\DoxyCodeLine{00032\ \textcolor{preprocessor}{\#pragma\ GCC\ diagnostic\ ignored\ "{}-\/Wunused-\/parameter"{}}}
\DoxyCodeLine{00033\ }
\DoxyCodeLine{00034\ \textcolor{comment}{/*\ Fallback\ for\ \_\_has\_builtin\ */}}
\DoxyCodeLine{00035\ \textcolor{preprocessor}{\#ifndef\ \_\_has\_builtin}}
\DoxyCodeLine{00036\ \textcolor{preprocessor}{\ \ \#define\ \_\_has\_builtin(x)\ (0)}}
\DoxyCodeLine{00037\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00038\ }
\DoxyCodeLine{00039\ \textcolor{comment}{/*\ CMSIS\ compiler\ specific\ defines\ */}}
\DoxyCodeLine{00040\ \textcolor{preprocessor}{\#ifndef\ \ \ \_\_ASM}}
\DoxyCodeLine{00041\ \textcolor{preprocessor}{\ \ \#define\ \_\_ASM\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_asm}}
\DoxyCodeLine{00042\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00043\ \textcolor{preprocessor}{\#ifndef\ \ \ \_\_INLINE}}
\DoxyCodeLine{00044\ \textcolor{preprocessor}{\ \ \#define\ \_\_INLINE\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ inline}}
\DoxyCodeLine{00045\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00046\ \textcolor{preprocessor}{\#ifndef\ \ \ \_\_STATIC\_INLINE}}
\DoxyCodeLine{00047\ \textcolor{preprocessor}{\ \ \#define\ \_\_STATIC\_INLINE\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ static\ inline}}
\DoxyCodeLine{00048\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00049\ \textcolor{preprocessor}{\#ifndef\ \ \ \_\_STATIC\_FORCEINLINE\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }}
\DoxyCodeLine{00050\ \textcolor{preprocessor}{\ \ \#define\ \_\_STATIC\_FORCEINLINE\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_attribute\_\_((always\_inline))\ static\ inline}}
\DoxyCodeLine{00051\ \textcolor{preprocessor}{\#endif\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }}
\DoxyCodeLine{00052\ \textcolor{preprocessor}{\#ifndef\ \ \ \_\_NO\_RETURN}}
\DoxyCodeLine{00053\ \textcolor{preprocessor}{\ \ \#define\ \_\_NO\_RETURN\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_attribute\_\_((\_\_noreturn\_\_))}}
\DoxyCodeLine{00054\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00055\ \textcolor{preprocessor}{\#ifndef\ \ \ \_\_USED}}
\DoxyCodeLine{00056\ \textcolor{preprocessor}{\ \ \#define\ \_\_USED\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_attribute\_\_((used))}}
\DoxyCodeLine{00057\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00058\ \textcolor{preprocessor}{\#ifndef\ \ \ \_\_WEAK}}
\DoxyCodeLine{00059\ \textcolor{preprocessor}{\ \ \#define\ \_\_WEAK\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_attribute\_\_((weak))}}
\DoxyCodeLine{00060\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00061\ \textcolor{preprocessor}{\#ifndef\ \ \ \_\_PACKED}}
\DoxyCodeLine{00062\ \textcolor{preprocessor}{\ \ \#define\ \_\_PACKED\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_attribute\_\_((packed,\ aligned(1)))}}
\DoxyCodeLine{00063\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00064\ \textcolor{preprocessor}{\#ifndef\ \ \ \_\_PACKED\_STRUCT}}
\DoxyCodeLine{00065\ \textcolor{preprocessor}{\ \ \#define\ \_\_PACKED\_STRUCT\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \_\_attribute\_\_((packed,\ aligned(1)))}}
\DoxyCodeLine{00066\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00067\ \textcolor{preprocessor}{\#ifndef\ \ \ \_\_PACKED\_UNION}}
\DoxyCodeLine{00068\ \textcolor{preprocessor}{\ \ \#define\ \_\_PACKED\_UNION\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ union\ \_\_attribute\_\_((packed,\ aligned(1)))}}
\DoxyCodeLine{00069\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00070\ \textcolor{preprocessor}{\#ifndef\ \ \ \_\_UNALIGNED\_UINT32\ \ \ \ \ \ \ \ }\textcolor{comment}{/*\ deprecated\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{00071\ \textcolor{preprocessor}{\ \ \#pragma\ GCC\ diagnostic\ push}}
\DoxyCodeLine{00072\ \textcolor{preprocessor}{\ \ \#pragma\ GCC\ diagnostic\ ignored\ "{}-\/Wpacked"{}}}
\DoxyCodeLine{00073\ \textcolor{preprocessor}{\ \ \#pragma\ GCC\ diagnostic\ ignored\ "{}-\/Wattributes"{}}}
\DoxyCodeLine{00074\ \ \ \textcolor{keyword}{struct\ }\_\_attribute\_\_((packed))\ T\_UINT32\ \{\ uint32\_t\ v;\ \};}
\DoxyCodeLine{00075\ \textcolor{preprocessor}{\ \ \#pragma\ GCC\ diagnostic\ pop}}
\DoxyCodeLine{00076\ \textcolor{preprocessor}{\ \ \#define\ \_\_UNALIGNED\_UINT32(x)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (((struct\ T\_UINT32\ *)(x))-\/>v)}}
\DoxyCodeLine{00077\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00078\ \textcolor{preprocessor}{\#ifndef\ \ \ \_\_UNALIGNED\_UINT16\_WRITE}}
\DoxyCodeLine{00079\ \textcolor{preprocessor}{\ \ \#pragma\ GCC\ diagnostic\ push}}
\DoxyCodeLine{00080\ \textcolor{preprocessor}{\ \ \#pragma\ GCC\ diagnostic\ ignored\ "{}-\/Wpacked"{}}}
\DoxyCodeLine{00081\ \textcolor{preprocessor}{\ \ \#pragma\ GCC\ diagnostic\ ignored\ "{}-\/Wattributes"{}}}
\DoxyCodeLine{00082\ \ \ \_\_PACKED\_STRUCT\ T\_UINT16\_WRITE\ \{\ uint16\_t\ v;\ \};}
\DoxyCodeLine{00083\ \textcolor{preprocessor}{\ \ \#pragma\ GCC\ diagnostic\ pop}}
\DoxyCodeLine{00084\ \textcolor{preprocessor}{\ \ \#define\ \_\_UNALIGNED\_UINT16\_WRITE(addr,\ val)\ \ \ \ (void)((((struct\ T\_UINT16\_WRITE\ *)(void\ *)(addr))-\/>v)\ =\ (val))}}
\DoxyCodeLine{00085\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00086\ \textcolor{preprocessor}{\#ifndef\ \ \ \_\_UNALIGNED\_UINT16\_READ}}
\DoxyCodeLine{00087\ \textcolor{preprocessor}{\ \ \#pragma\ GCC\ diagnostic\ push}}
\DoxyCodeLine{00088\ \textcolor{preprocessor}{\ \ \#pragma\ GCC\ diagnostic\ ignored\ "{}-\/Wpacked"{}}}
\DoxyCodeLine{00089\ \textcolor{preprocessor}{\ \ \#pragma\ GCC\ diagnostic\ ignored\ "{}-\/Wattributes"{}}}
\DoxyCodeLine{00090\ \ \ \_\_PACKED\_STRUCT\ T\_UINT16\_READ\ \{\ uint16\_t\ v;\ \};}
\DoxyCodeLine{00091\ \textcolor{preprocessor}{\ \ \#pragma\ GCC\ diagnostic\ pop}}
\DoxyCodeLine{00092\ \textcolor{preprocessor}{\ \ \#define\ \_\_UNALIGNED\_UINT16\_READ(addr)\ \ \ \ \ \ \ \ \ \ (((const\ struct\ T\_UINT16\_READ\ *)(const\ void\ *)(addr))-\/>v)}}
\DoxyCodeLine{00093\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00094\ \textcolor{preprocessor}{\#ifndef\ \ \ \_\_UNALIGNED\_UINT32\_WRITE}}
\DoxyCodeLine{00095\ \textcolor{preprocessor}{\ \ \#pragma\ GCC\ diagnostic\ push}}
\DoxyCodeLine{00096\ \textcolor{preprocessor}{\ \ \#pragma\ GCC\ diagnostic\ ignored\ "{}-\/Wpacked"{}}}
\DoxyCodeLine{00097\ \textcolor{preprocessor}{\ \ \#pragma\ GCC\ diagnostic\ ignored\ "{}-\/Wattributes"{}}}
\DoxyCodeLine{00098\ \ \ \_\_PACKED\_STRUCT\ T\_UINT32\_WRITE\ \{\ uint32\_t\ v;\ \};}
\DoxyCodeLine{00099\ \textcolor{preprocessor}{\ \ \#pragma\ GCC\ diagnostic\ pop}}
\DoxyCodeLine{00100\ \textcolor{preprocessor}{\ \ \#define\ \_\_UNALIGNED\_UINT32\_WRITE(addr,\ val)\ \ \ \ (void)((((struct\ T\_UINT32\_WRITE\ *)(void\ *)(addr))-\/>v)\ =\ (val))}}
\DoxyCodeLine{00101\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00102\ \textcolor{preprocessor}{\#ifndef\ \ \ \_\_UNALIGNED\_UINT32\_READ}}
\DoxyCodeLine{00103\ \textcolor{preprocessor}{\ \ \#pragma\ GCC\ diagnostic\ push}}
\DoxyCodeLine{00104\ \textcolor{preprocessor}{\ \ \#pragma\ GCC\ diagnostic\ ignored\ "{}-\/Wpacked"{}}}
\DoxyCodeLine{00105\ \textcolor{preprocessor}{\ \ \#pragma\ GCC\ diagnostic\ ignored\ "{}-\/Wattributes"{}}}
\DoxyCodeLine{00106\ \ \ \_\_PACKED\_STRUCT\ T\_UINT32\_READ\ \{\ uint32\_t\ v;\ \};}
\DoxyCodeLine{00107\ \textcolor{preprocessor}{\ \ \#pragma\ GCC\ diagnostic\ pop}}
\DoxyCodeLine{00108\ \textcolor{preprocessor}{\ \ \#define\ \_\_UNALIGNED\_UINT32\_READ(addr)\ \ \ \ \ \ \ \ \ \ (((const\ struct\ T\_UINT32\_READ\ *)(const\ void\ *)(addr))-\/>v)}}
\DoxyCodeLine{00109\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00110\ \textcolor{preprocessor}{\#ifndef\ \ \ \_\_ALIGNED}}
\DoxyCodeLine{00111\ \textcolor{preprocessor}{\ \ \#define\ \_\_ALIGNED(x)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_attribute\_\_((aligned(x)))}}
\DoxyCodeLine{00112\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00113\ \textcolor{preprocessor}{\#ifndef\ \ \ \_\_RESTRICT}}
\DoxyCodeLine{00114\ \textcolor{preprocessor}{\ \ \#define\ \_\_RESTRICT\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_restrict}}
\DoxyCodeLine{00115\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00116\ \textcolor{preprocessor}{\#ifndef\ \ \ \_\_COMPILER\_BARRIER}}
\DoxyCodeLine{00117\ \textcolor{preprocessor}{\ \ \#define\ \_\_COMPILER\_BARRIER()\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_ASM\ volatile("{}"{}:::"{}memory"{})}}
\DoxyCodeLine{00118\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00119\ }
\DoxyCodeLine{00120\ \textcolor{comment}{/*\ \#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\ \ Startup\ and\ Lowlevel\ Init\ \ \#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\ */}}
\DoxyCodeLine{00121\ }
\DoxyCodeLine{00122\ \textcolor{preprocessor}{\#ifndef\ \_\_PROGRAM\_START}}
\DoxyCodeLine{00123\ }
\DoxyCodeLine{00131\ \_\_STATIC\_FORCEINLINE\ \_\_NO\_RETURN\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{cmsis__gcc_8h_a88de6b29fc9f132b201292805ad13e58}{\_\_cmsis\_start}}(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00132\ \{}
\DoxyCodeLine{00133\ \ \ \textcolor{keyword}{extern}\ \textcolor{keywordtype}{void}\ \_start(\textcolor{keywordtype}{void})\ \_\_NO\_RETURN;}
\DoxyCodeLine{00134\ \ \ }
\DoxyCodeLine{00135\ \ \ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\{}
\DoxyCodeLine{00136\ \ \ \ \ uint32\_t\ \textcolor{keyword}{const}*\ src;}
\DoxyCodeLine{00137\ \ \ \ \ uint32\_t*\ dest;}
\DoxyCodeLine{00138\ \ \ \ \ uint32\_t\ \ wlen;}
\DoxyCodeLine{00139\ \ \ \}\ \_\_copy\_table\_t;}
\DoxyCodeLine{00140\ \ \ }
\DoxyCodeLine{00141\ \ \ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\{}
\DoxyCodeLine{00142\ \ \ \ \ uint32\_t*\ dest;}
\DoxyCodeLine{00143\ \ \ \ \ uint32\_t\ \ wlen;}
\DoxyCodeLine{00144\ \ \ \}\ \_\_zero\_table\_t;}
\DoxyCodeLine{00145\ \ \ }
\DoxyCodeLine{00146\ \ \ \textcolor{keyword}{extern}\ \textcolor{keyword}{const}\ \_\_copy\_table\_t\ \_\_copy\_table\_start\_\_;}
\DoxyCodeLine{00147\ \ \ \textcolor{keyword}{extern}\ \textcolor{keyword}{const}\ \_\_copy\_table\_t\ \_\_copy\_table\_end\_\_;}
\DoxyCodeLine{00148\ \ \ \textcolor{keyword}{extern}\ \textcolor{keyword}{const}\ \_\_zero\_table\_t\ \_\_zero\_table\_start\_\_;}
\DoxyCodeLine{00149\ \ \ \textcolor{keyword}{extern}\ \textcolor{keyword}{const}\ \_\_zero\_table\_t\ \_\_zero\_table\_end\_\_;}
\DoxyCodeLine{00150\ }
\DoxyCodeLine{00151\ \ \ \textcolor{keywordflow}{for}\ (\_\_copy\_table\_t\ \textcolor{keyword}{const}*\ pTable\ =\ \&\_\_copy\_table\_start\_\_;\ pTable\ <\ \&\_\_copy\_table\_end\_\_;\ ++pTable)\ \{}
\DoxyCodeLine{00152\ \ \ \ \ \textcolor{keywordflow}{for}(uint32\_t\ i=0u;\ i<pTable-\/>wlen;\ ++i)\ \{}
\DoxyCodeLine{00153\ \ \ \ \ \ \ pTable-\/>dest[i]\ =\ pTable-\/>src[i];}
\DoxyCodeLine{00154\ \ \ \ \ \}}
\DoxyCodeLine{00155\ \ \ \}}
\DoxyCodeLine{00156\ \ }
\DoxyCodeLine{00157\ \ \ \textcolor{keywordflow}{for}\ (\_\_zero\_table\_t\ \textcolor{keyword}{const}*\ pTable\ =\ \&\_\_zero\_table\_start\_\_;\ pTable\ <\ \&\_\_zero\_table\_end\_\_;\ ++pTable)\ \{}
\DoxyCodeLine{00158\ \ \ \ \ \textcolor{keywordflow}{for}(uint32\_t\ i=0u;\ i<pTable-\/>wlen;\ ++i)\ \{}
\DoxyCodeLine{00159\ \ \ \ \ \ \ pTable-\/>dest[i]\ =\ 0u;}
\DoxyCodeLine{00160\ \ \ \ \ \}}
\DoxyCodeLine{00161\ \ \ \}}
\DoxyCodeLine{00162\ \ }
\DoxyCodeLine{00163\ \ \ \_start();}
\DoxyCodeLine{00164\ \}}
\DoxyCodeLine{00165\ \ \ }
\DoxyCodeLine{00166\ \textcolor{preprocessor}{\#define\ \_\_PROGRAM\_START\ \ \ \ \ \ \ \ \ \ \ \_\_cmsis\_start}}
\DoxyCodeLine{00167\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00168\ }
\DoxyCodeLine{00169\ \textcolor{preprocessor}{\#ifndef\ \_\_INITIAL\_SP}}
\DoxyCodeLine{00170\ \textcolor{preprocessor}{\#define\ \_\_INITIAL\_SP\ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_StackTop}}
\DoxyCodeLine{00171\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00172\ }
\DoxyCodeLine{00173\ \textcolor{preprocessor}{\#ifndef\ \_\_STACK\_LIMIT}}
\DoxyCodeLine{00174\ \textcolor{preprocessor}{\#define\ \_\_STACK\_LIMIT\ \ \ \ \ \ \ \ \ \ \ \ \ \_\_StackLimit}}
\DoxyCodeLine{00175\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00176\ }
\DoxyCodeLine{00177\ \textcolor{preprocessor}{\#ifndef\ \_\_VECTOR\_TABLE}}
\DoxyCodeLine{00178\ \textcolor{preprocessor}{\#define\ \_\_VECTOR\_TABLE\ \ \ \ \ \ \ \ \ \ \ \ \_\_Vectors}}
\DoxyCodeLine{00179\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00180\ }
\DoxyCodeLine{00181\ \textcolor{preprocessor}{\#ifndef\ \_\_VECTOR\_TABLE\_ATTRIBUTE}}
\DoxyCodeLine{00182\ \textcolor{preprocessor}{\#define\ \_\_VECTOR\_TABLE\_ATTRIBUTE\ \ \_\_attribute((used,\ section("{}.vectors"{})))}}
\DoxyCodeLine{00183\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00184\ }
\DoxyCodeLine{00185\ \textcolor{comment}{/*\ \#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\ \ Core\ Function\ Access\ \ \#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\ */}}
\DoxyCodeLine{00190\ }
\DoxyCodeLine{00196\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{group___c_m_s_i_s___core___reg_acc_functions_gae84bf4e95944e61937f4ed2453e5ef23}{\_\_enable\_irq}}(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00197\ \{}
\DoxyCodeLine{00198\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}cpsie\ i"{}}\ :\ :\ :\ \textcolor{stringliteral}{"{}memory"{}});}
\DoxyCodeLine{00199\ \}}
\DoxyCodeLine{00200\ }
\DoxyCodeLine{00201\ }
\DoxyCodeLine{00207\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{group___c_m_s_i_s___core___reg_acc_functions_ga2299877e4ba3e162ca9dbabd6e0abef6}{\_\_disable\_irq}}(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00208\ \{}
\DoxyCodeLine{00209\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}cpsid\ i"{}}\ :\ :\ :\ \textcolor{stringliteral}{"{}memory"{}});}
\DoxyCodeLine{00210\ \}}
\DoxyCodeLine{00211\ }
\DoxyCodeLine{00212\ }
\DoxyCodeLine{00218\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \mbox{\hyperlink{group___c_m_s_i_s___core___reg_acc_functions_ga7dd5c942bee32f055b90153feb950f59}{\_\_get\_CONTROL}}(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00219\ \{}
\DoxyCodeLine{00220\ \ \ uint32\_t\ result;}
\DoxyCodeLine{00221\ }
\DoxyCodeLine{00222\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MRS\ \%0,\ control"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ );}
\DoxyCodeLine{00223\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{00224\ \}}
\DoxyCodeLine{00225\ }
\DoxyCodeLine{00226\ }
\DoxyCodeLine{00227\ \textcolor{preprocessor}{\#if\ (defined\ (\_\_ARM\_FEATURE\_CMSE\ )\ \&\&\ (\_\_ARM\_FEATURE\_CMSE\ ==\ 3))}\textcolor{preprocessor}{}}
\DoxyCodeLine{00233\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_TZ\_get\_CONTROL\_NS(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00234\ \{}
\DoxyCodeLine{00235\ \ \ uint32\_t\ result;}
\DoxyCodeLine{00236\ }
\DoxyCodeLine{00237\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MRS\ \%0,\ control\_ns"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ );}
\DoxyCodeLine{00238\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{00239\ \}}
\DoxyCodeLine{00240\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00241\ }
\DoxyCodeLine{00242\ }
\DoxyCodeLine{00248\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{group___c_m_s_i_s___core___reg_acc_functions_ga0102d0939d9b26c5c792be6bf5fd550f}{\_\_set\_CONTROL}}(uint32\_t\ control)}
\DoxyCodeLine{00249\ \{}
\DoxyCodeLine{00250\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MSR\ control,\ \%0"{}}\ :\ :\ \textcolor{stringliteral}{"{}r"{}}\ (control)\ :\ \textcolor{stringliteral}{"{}memory"{}});}
\DoxyCodeLine{00251\ \}}
\DoxyCodeLine{00252\ }
\DoxyCodeLine{00253\ }
\DoxyCodeLine{00254\ \textcolor{preprocessor}{\#if\ (defined\ (\_\_ARM\_FEATURE\_CMSE\ )\ \&\&\ (\_\_ARM\_FEATURE\_CMSE\ ==\ 3))}\textcolor{preprocessor}{}}
\DoxyCodeLine{00260\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \_\_TZ\_set\_CONTROL\_NS(uint32\_t\ control)}
\DoxyCodeLine{00261\ \{}
\DoxyCodeLine{00262\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MSR\ control\_ns,\ \%0"{}}\ :\ :\ \textcolor{stringliteral}{"{}r"{}}\ (control)\ :\ \textcolor{stringliteral}{"{}memory"{}});}
\DoxyCodeLine{00263\ \}}
\DoxyCodeLine{00264\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00265\ }
\DoxyCodeLine{00266\ }
\DoxyCodeLine{00272\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \mbox{\hyperlink{group___c_m_s_i_s___core___reg_acc_functions_gaf15a71855b9d731d11de92704c82bd18}{\_\_get\_IPSR}}(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00273\ \{}
\DoxyCodeLine{00274\ \ \ uint32\_t\ result;}
\DoxyCodeLine{00275\ }
\DoxyCodeLine{00276\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MRS\ \%0,\ ipsr"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ );}
\DoxyCodeLine{00277\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{00278\ \}}
\DoxyCodeLine{00279\ }
\DoxyCodeLine{00280\ }
\DoxyCodeLine{00286\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \mbox{\hyperlink{group___c_m_s_i_s___core___reg_acc_functions_gadff4f1e599946e8ae96fba17b5245f04}{\_\_get\_APSR}}(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00287\ \{}
\DoxyCodeLine{00288\ \ \ uint32\_t\ result;}
\DoxyCodeLine{00289\ }
\DoxyCodeLine{00290\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MRS\ \%0,\ apsr"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ );}
\DoxyCodeLine{00291\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{00292\ \}}
\DoxyCodeLine{00293\ }
\DoxyCodeLine{00294\ }
\DoxyCodeLine{00300\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \mbox{\hyperlink{group___c_m_s_i_s___core___reg_acc_functions_gae0d8e20f8c3c2a502075dabcff733c05}{\_\_get\_xPSR}}(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00301\ \{}
\DoxyCodeLine{00302\ \ \ uint32\_t\ result;}
\DoxyCodeLine{00303\ }
\DoxyCodeLine{00304\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MRS\ \%0,\ xpsr"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ );}
\DoxyCodeLine{00305\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{00306\ \}}
\DoxyCodeLine{00307\ }
\DoxyCodeLine{00308\ }
\DoxyCodeLine{00314\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \mbox{\hyperlink{group___c_m_s_i_s___core___reg_acc_functions_ga826c53e30812e350c77f58aac9f42bcb}{\_\_get\_PSP}}(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00315\ \{}
\DoxyCodeLine{00316\ \ \ uint32\_t\ result;}
\DoxyCodeLine{00317\ }
\DoxyCodeLine{00318\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MRS\ \%0,\ psp"{}}\ \ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ );}
\DoxyCodeLine{00319\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{00320\ \}}
\DoxyCodeLine{00321\ }
\DoxyCodeLine{00322\ }
\DoxyCodeLine{00323\ \textcolor{preprocessor}{\#if\ (defined\ (\_\_ARM\_FEATURE\_CMSE\ )\ \&\&\ (\_\_ARM\_FEATURE\_CMSE\ ==\ 3))}\textcolor{preprocessor}{}}
\DoxyCodeLine{00329\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_TZ\_get\_PSP\_NS(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00330\ \{}
\DoxyCodeLine{00331\ \ \ uint32\_t\ result;}
\DoxyCodeLine{00332\ }
\DoxyCodeLine{00333\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MRS\ \%0,\ psp\_ns"{}}\ \ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ );}
\DoxyCodeLine{00334\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{00335\ \}}
\DoxyCodeLine{00336\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00337\ }
\DoxyCodeLine{00338\ }
\DoxyCodeLine{00344\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{group___c_m_s_i_s___core___reg_acc_functions_ga21f50fc02c3927a8ebf0bc3678c06862}{\_\_set\_PSP}}(uint32\_t\ topOfProcStack)}
\DoxyCodeLine{00345\ \{}
\DoxyCodeLine{00346\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MSR\ psp,\ \%0"{}}\ :\ :\ \textcolor{stringliteral}{"{}r"{}}\ (topOfProcStack)\ :\ );}
\DoxyCodeLine{00347\ \}}
\DoxyCodeLine{00348\ }
\DoxyCodeLine{00349\ }
\DoxyCodeLine{00350\ \textcolor{preprocessor}{\#if\ (defined\ (\_\_ARM\_FEATURE\_CMSE\ )\ \&\&\ (\_\_ARM\_FEATURE\_CMSE\ ==\ 3))}\textcolor{preprocessor}{}}
\DoxyCodeLine{00356\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \_\_TZ\_set\_PSP\_NS(uint32\_t\ topOfProcStack)}
\DoxyCodeLine{00357\ \{}
\DoxyCodeLine{00358\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MSR\ psp\_ns,\ \%0"{}}\ :\ :\ \textcolor{stringliteral}{"{}r"{}}\ (topOfProcStack)\ :\ );}
\DoxyCodeLine{00359\ \}}
\DoxyCodeLine{00360\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00361\ }
\DoxyCodeLine{00362\ }
\DoxyCodeLine{00368\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \mbox{\hyperlink{group___c_m_s_i_s___core___reg_acc_functions_ga667e7b8b97b4a30f445ae45d37588e45}{\_\_get\_MSP}}(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00369\ \{}
\DoxyCodeLine{00370\ \ \ uint32\_t\ result;}
\DoxyCodeLine{00371\ }
\DoxyCodeLine{00372\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MRS\ \%0,\ msp"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ );}
\DoxyCodeLine{00373\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{00374\ \}}
\DoxyCodeLine{00375\ }
\DoxyCodeLine{00376\ }
\DoxyCodeLine{00377\ \textcolor{preprocessor}{\#if\ (defined\ (\_\_ARM\_FEATURE\_CMSE\ )\ \&\&\ (\_\_ARM\_FEATURE\_CMSE\ ==\ 3))}\textcolor{preprocessor}{}}
\DoxyCodeLine{00383\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_TZ\_get\_MSP\_NS(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00384\ \{}
\DoxyCodeLine{00385\ \ \ uint32\_t\ result;}
\DoxyCodeLine{00386\ }
\DoxyCodeLine{00387\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MRS\ \%0,\ msp\_ns"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ );}
\DoxyCodeLine{00388\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{00389\ \}}
\DoxyCodeLine{00390\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00391\ }
\DoxyCodeLine{00392\ }
\DoxyCodeLine{00398\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{group___c_m_s_i_s___core___reg_acc_functions_ga08b66e2b60a46fada36d90d2bc1e7c9b}{\_\_set\_MSP}}(uint32\_t\ topOfMainStack)}
\DoxyCodeLine{00399\ \{}
\DoxyCodeLine{00400\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MSR\ msp,\ \%0"{}}\ :\ :\ \textcolor{stringliteral}{"{}r"{}}\ (topOfMainStack)\ :\ );}
\DoxyCodeLine{00401\ \}}
\DoxyCodeLine{00402\ }
\DoxyCodeLine{00403\ }
\DoxyCodeLine{00404\ \textcolor{preprocessor}{\#if\ (defined\ (\_\_ARM\_FEATURE\_CMSE\ )\ \&\&\ (\_\_ARM\_FEATURE\_CMSE\ ==\ 3))}\textcolor{preprocessor}{}}
\DoxyCodeLine{00410\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \_\_TZ\_set\_MSP\_NS(uint32\_t\ topOfMainStack)}
\DoxyCodeLine{00411\ \{}
\DoxyCodeLine{00412\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MSR\ msp\_ns,\ \%0"{}}\ :\ :\ \textcolor{stringliteral}{"{}r"{}}\ (topOfMainStack)\ :\ );}
\DoxyCodeLine{00413\ \}}
\DoxyCodeLine{00414\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00415\ }
\DoxyCodeLine{00416\ }
\DoxyCodeLine{00417\ \textcolor{preprocessor}{\#if\ (defined\ (\_\_ARM\_FEATURE\_CMSE\ )\ \&\&\ (\_\_ARM\_FEATURE\_CMSE\ ==\ 3))}\textcolor{preprocessor}{}}
\DoxyCodeLine{00423\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_TZ\_get\_SP\_NS(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00424\ \{}
\DoxyCodeLine{00425\ \ \ uint32\_t\ result;}
\DoxyCodeLine{00426\ }
\DoxyCodeLine{00427\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MRS\ \%0,\ sp\_ns"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ );}
\DoxyCodeLine{00428\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{00429\ \}}
\DoxyCodeLine{00430\ }
\DoxyCodeLine{00431\ }
\DoxyCodeLine{00437\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \_\_TZ\_set\_SP\_NS(uint32\_t\ topOfStack)}
\DoxyCodeLine{00438\ \{}
\DoxyCodeLine{00439\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MSR\ sp\_ns,\ \%0"{}}\ :\ :\ \textcolor{stringliteral}{"{}r"{}}\ (topOfStack)\ :\ );}
\DoxyCodeLine{00440\ \}}
\DoxyCodeLine{00441\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00442\ }
\DoxyCodeLine{00443\ }
\DoxyCodeLine{00449\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \mbox{\hyperlink{group___c_m_s_i_s___core___reg_acc_functions_ga4ff59fb9e280d19e79e6875863a65f0a}{\_\_get\_PRIMASK}}(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00450\ \{}
\DoxyCodeLine{00451\ \ \ uint32\_t\ result;}
\DoxyCodeLine{00452\ }
\DoxyCodeLine{00453\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MRS\ \%0,\ primask"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ ::\ \textcolor{stringliteral}{"{}memory"{}});}
\DoxyCodeLine{00454\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{00455\ \}}
\DoxyCodeLine{00456\ }
\DoxyCodeLine{00457\ }
\DoxyCodeLine{00458\ \textcolor{preprocessor}{\#if\ (defined\ (\_\_ARM\_FEATURE\_CMSE\ )\ \&\&\ (\_\_ARM\_FEATURE\_CMSE\ ==\ 3))}\textcolor{preprocessor}{}}
\DoxyCodeLine{00464\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_TZ\_get\_PRIMASK\_NS(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00465\ \{}
\DoxyCodeLine{00466\ \ \ uint32\_t\ result;}
\DoxyCodeLine{00467\ }
\DoxyCodeLine{00468\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MRS\ \%0,\ primask\_ns"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ ::\ \textcolor{stringliteral}{"{}memory"{}});}
\DoxyCodeLine{00469\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{00470\ \}}
\DoxyCodeLine{00471\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00472\ }
\DoxyCodeLine{00473\ }
\DoxyCodeLine{00479\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{group___c_m_s_i_s___core___reg_acc_functions_gaf4a17d3be7dbb066489836d849930d92}{\_\_set\_PRIMASK}}(uint32\_t\ priMask)}
\DoxyCodeLine{00480\ \{}
\DoxyCodeLine{00481\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MSR\ primask,\ \%0"{}}\ :\ :\ \textcolor{stringliteral}{"{}r"{}}\ (priMask)\ :\ \textcolor{stringliteral}{"{}memory"{}});}
\DoxyCodeLine{00482\ \}}
\DoxyCodeLine{00483\ }
\DoxyCodeLine{00484\ }
\DoxyCodeLine{00485\ \textcolor{preprocessor}{\#if\ (defined\ (\_\_ARM\_FEATURE\_CMSE\ )\ \&\&\ (\_\_ARM\_FEATURE\_CMSE\ ==\ 3))}\textcolor{preprocessor}{}}
\DoxyCodeLine{00491\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \_\_TZ\_set\_PRIMASK\_NS(uint32\_t\ priMask)}
\DoxyCodeLine{00492\ \{}
\DoxyCodeLine{00493\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MSR\ primask\_ns,\ \%0"{}}\ :\ :\ \textcolor{stringliteral}{"{}r"{}}\ (priMask)\ :\ \textcolor{stringliteral}{"{}memory"{}});}
\DoxyCodeLine{00494\ \}}
\DoxyCodeLine{00495\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00496\ }
\DoxyCodeLine{00497\ }
\DoxyCodeLine{00498\ \textcolor{preprocessor}{\#if\ ((defined\ (\_\_ARM\_ARCH\_7M\_\_\ \ \ \ \ \ )\ \&\&\ (\_\_ARM\_ARCH\_7M\_\_\ \ \ \ \ \ ==\ 1))\ ||\ \(\backslash\)}}
\DoxyCodeLine{00499\ \textcolor{preprocessor}{\ \ \ \ \ (defined\ (\_\_ARM\_ARCH\_7EM\_\_\ \ \ \ \ )\ \&\&\ (\_\_ARM\_ARCH\_7EM\_\_\ \ \ \ \ ==\ 1))\ ||\ \(\backslash\)}}
\DoxyCodeLine{00500\ \textcolor{preprocessor}{\ \ \ \ \ (defined\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ ==\ 1))\ \ \ \ )}\textcolor{preprocessor}{}}
\DoxyCodeLine{00506\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \_\_enable\_fault\_irq(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00507\ \{}
\DoxyCodeLine{00508\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}cpsie\ f"{}}\ :\ :\ :\ \textcolor{stringliteral}{"{}memory"{}});}
\DoxyCodeLine{00509\ \}}
\DoxyCodeLine{00510\ }
\DoxyCodeLine{00511\ }
\DoxyCodeLine{00517\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \_\_disable\_fault\_irq(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00518\ \{}
\DoxyCodeLine{00519\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}cpsid\ f"{}}\ :\ :\ :\ \textcolor{stringliteral}{"{}memory"{}});}
\DoxyCodeLine{00520\ \}}
\DoxyCodeLine{00521\ }
\DoxyCodeLine{00522\ }
\DoxyCodeLine{00528\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_get\_BASEPRI(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00529\ \{}
\DoxyCodeLine{00530\ \ \ uint32\_t\ result;}
\DoxyCodeLine{00531\ }
\DoxyCodeLine{00532\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MRS\ \%0,\ basepri"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ );}
\DoxyCodeLine{00533\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{00534\ \}}
\DoxyCodeLine{00535\ }
\DoxyCodeLine{00536\ }
\DoxyCodeLine{00537\ \textcolor{preprocessor}{\#if\ (defined\ (\_\_ARM\_FEATURE\_CMSE\ )\ \&\&\ (\_\_ARM\_FEATURE\_CMSE\ ==\ 3))}\textcolor{preprocessor}{}}
\DoxyCodeLine{00543\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_TZ\_get\_BASEPRI\_NS(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00544\ \{}
\DoxyCodeLine{00545\ \ \ uint32\_t\ result;}
\DoxyCodeLine{00546\ }
\DoxyCodeLine{00547\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MRS\ \%0,\ basepri\_ns"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ );}
\DoxyCodeLine{00548\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{00549\ \}}
\DoxyCodeLine{00550\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00551\ }
\DoxyCodeLine{00552\ }
\DoxyCodeLine{00558\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \_\_set\_BASEPRI(uint32\_t\ basePri)}
\DoxyCodeLine{00559\ \{}
\DoxyCodeLine{00560\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MSR\ basepri,\ \%0"{}}\ :\ :\ \textcolor{stringliteral}{"{}r"{}}\ (basePri)\ :\ \textcolor{stringliteral}{"{}memory"{}});}
\DoxyCodeLine{00561\ \}}
\DoxyCodeLine{00562\ }
\DoxyCodeLine{00563\ }
\DoxyCodeLine{00564\ \textcolor{preprocessor}{\#if\ (defined\ (\_\_ARM\_FEATURE\_CMSE\ )\ \&\&\ (\_\_ARM\_FEATURE\_CMSE\ ==\ 3))}\textcolor{preprocessor}{}}
\DoxyCodeLine{00570\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \_\_TZ\_set\_BASEPRI\_NS(uint32\_t\ basePri)}
\DoxyCodeLine{00571\ \{}
\DoxyCodeLine{00572\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MSR\ basepri\_ns,\ \%0"{}}\ :\ :\ \textcolor{stringliteral}{"{}r"{}}\ (basePri)\ :\ \textcolor{stringliteral}{"{}memory"{}});}
\DoxyCodeLine{00573\ \}}
\DoxyCodeLine{00574\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00575\ }
\DoxyCodeLine{00576\ }
\DoxyCodeLine{00583\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \_\_set\_BASEPRI\_MAX(uint32\_t\ basePri)}
\DoxyCodeLine{00584\ \{}
\DoxyCodeLine{00585\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MSR\ basepri\_max,\ \%0"{}}\ :\ :\ \textcolor{stringliteral}{"{}r"{}}\ (basePri)\ :\ \textcolor{stringliteral}{"{}memory"{}});}
\DoxyCodeLine{00586\ \}}
\DoxyCodeLine{00587\ }
\DoxyCodeLine{00588\ }
\DoxyCodeLine{00594\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_get\_FAULTMASK(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00595\ \{}
\DoxyCodeLine{00596\ \ \ uint32\_t\ result;}
\DoxyCodeLine{00597\ }
\DoxyCodeLine{00598\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MRS\ \%0,\ faultmask"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ );}
\DoxyCodeLine{00599\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{00600\ \}}
\DoxyCodeLine{00601\ }
\DoxyCodeLine{00602\ }
\DoxyCodeLine{00603\ \textcolor{preprocessor}{\#if\ (defined\ (\_\_ARM\_FEATURE\_CMSE\ )\ \&\&\ (\_\_ARM\_FEATURE\_CMSE\ ==\ 3))}\textcolor{preprocessor}{}}
\DoxyCodeLine{00609\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_TZ\_get\_FAULTMASK\_NS(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00610\ \{}
\DoxyCodeLine{00611\ \ \ uint32\_t\ result;}
\DoxyCodeLine{00612\ }
\DoxyCodeLine{00613\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MRS\ \%0,\ faultmask\_ns"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ );}
\DoxyCodeLine{00614\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{00615\ \}}
\DoxyCodeLine{00616\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00617\ }
\DoxyCodeLine{00618\ }
\DoxyCodeLine{00624\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \_\_set\_FAULTMASK(uint32\_t\ faultMask)}
\DoxyCodeLine{00625\ \{}
\DoxyCodeLine{00626\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MSR\ faultmask,\ \%0"{}}\ :\ :\ \textcolor{stringliteral}{"{}r"{}}\ (faultMask)\ :\ \textcolor{stringliteral}{"{}memory"{}});}
\DoxyCodeLine{00627\ \}}
\DoxyCodeLine{00628\ }
\DoxyCodeLine{00629\ }
\DoxyCodeLine{00630\ \textcolor{preprocessor}{\#if\ (defined\ (\_\_ARM\_FEATURE\_CMSE\ )\ \&\&\ (\_\_ARM\_FEATURE\_CMSE\ ==\ 3))}\textcolor{preprocessor}{}}
\DoxyCodeLine{00636\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \_\_TZ\_set\_FAULTMASK\_NS(uint32\_t\ faultMask)}
\DoxyCodeLine{00637\ \{}
\DoxyCodeLine{00638\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MSR\ faultmask\_ns,\ \%0"{}}\ :\ :\ \textcolor{stringliteral}{"{}r"{}}\ (faultMask)\ :\ \textcolor{stringliteral}{"{}memory"{}});}
\DoxyCodeLine{00639\ \}}
\DoxyCodeLine{00640\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00641\ }
\DoxyCodeLine{00642\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{/*\ ((defined\ (\_\_ARM\_ARCH\_7M\_\_\ \ \ \ \ \ )\ \&\&\ (\_\_ARM\_ARCH\_7M\_\_\ \ \ \ \ \ ==\ 1))\ ||\ \(\backslash\)}}
\DoxyCodeLine{00643\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ (defined\ (\_\_ARM\_ARCH\_7EM\_\_\ \ \ \ \ )\ \&\&\ (\_\_ARM\_ARCH\_7EM\_\_\ \ \ \ \ ==\ 1))\ ||\ \(\backslash\)}}
\DoxyCodeLine{00644\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ (defined\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ ==\ 1))\ \ \ \ )\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{00645\ }
\DoxyCodeLine{00646\ }
\DoxyCodeLine{00647\ \textcolor{preprocessor}{\#if\ ((defined\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ ==\ 1))\ ||\ \(\backslash\)}}
\DoxyCodeLine{00648\ \textcolor{preprocessor}{\ \ \ \ \ (defined\ (\_\_ARM\_ARCH\_8M\_BASE\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_BASE\_\_\ ==\ 1))\ \ \ \ )}}
\DoxyCodeLine{00649\ }
\DoxyCodeLine{00659\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_get\_PSPLIM(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00660\ \{}
\DoxyCodeLine{00661\ \textcolor{preprocessor}{\#if\ (!(defined\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ ==\ 1))\ \&\&\ \(\backslash\)}}
\DoxyCodeLine{00662\ \textcolor{preprocessor}{\ \ \ \ (!defined\ (\_\_ARM\_FEATURE\_CMSE)\ ||\ (\_\_ARM\_FEATURE\_CMSE\ <\ 3)))}}
\DoxyCodeLine{00663\ \ \ \ \ \textcolor{comment}{//\ without\ main\ extensions,\ the\ non-\/secure\ PSPLIM\ is\ RAZ/WI}}
\DoxyCodeLine{00664\ \ \ \textcolor{keywordflow}{return}\ 0U;}
\DoxyCodeLine{00665\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00666\ \ \ uint32\_t\ result;}
\DoxyCodeLine{00667\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MRS\ \%0,\ psplim"{}}\ \ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ );}
\DoxyCodeLine{00668\ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{00669\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00670\ \}}
\DoxyCodeLine{00671\ }
\DoxyCodeLine{00672\ \textcolor{preprocessor}{\#if\ (defined\ (\_\_ARM\_FEATURE\_CMSE)\ \&\&\ (\_\_ARM\_FEATURE\_CMSE\ ==\ 3))}\textcolor{preprocessor}{}}
\DoxyCodeLine{00681\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_TZ\_get\_PSPLIM\_NS(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00682\ \{}
\DoxyCodeLine{00683\ \textcolor{preprocessor}{\#if\ (!(defined\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ ==\ 1)))}}
\DoxyCodeLine{00684\ \ \ \textcolor{comment}{//\ without\ main\ extensions,\ the\ non-\/secure\ PSPLIM\ is\ RAZ/WI}}
\DoxyCodeLine{00685\ \ \ \textcolor{keywordflow}{return}\ 0U;}
\DoxyCodeLine{00686\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00687\ \ \ uint32\_t\ result;}
\DoxyCodeLine{00688\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MRS\ \%0,\ psplim\_ns"{}}\ \ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ );}
\DoxyCodeLine{00689\ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{00690\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00691\ \}}
\DoxyCodeLine{00692\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00693\ }
\DoxyCodeLine{00694\ }
\DoxyCodeLine{00704\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \_\_set\_PSPLIM(uint32\_t\ ProcStackPtrLimit)}
\DoxyCodeLine{00705\ \{}
\DoxyCodeLine{00706\ \textcolor{preprocessor}{\#if\ (!(defined\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ ==\ 1))\ \&\&\ \(\backslash\)}}
\DoxyCodeLine{00707\ \textcolor{preprocessor}{\ \ \ \ (!defined\ (\_\_ARM\_FEATURE\_CMSE)\ ||\ (\_\_ARM\_FEATURE\_CMSE\ <\ 3)))}}
\DoxyCodeLine{00708\ \ \ \textcolor{comment}{//\ without\ main\ extensions,\ the\ non-\/secure\ PSPLIM\ is\ RAZ/WI}}
\DoxyCodeLine{00709\ \ \ (void)ProcStackPtrLimit;}
\DoxyCodeLine{00710\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00711\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MSR\ psplim,\ \%0"{}}\ :\ :\ \textcolor{stringliteral}{"{}r"{}}\ (ProcStackPtrLimit));}
\DoxyCodeLine{00712\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00713\ \}}
\DoxyCodeLine{00714\ }
\DoxyCodeLine{00715\ }
\DoxyCodeLine{00716\ \textcolor{preprocessor}{\#if\ (defined\ (\_\_ARM\_FEATURE\_CMSE\ \ )\ \&\&\ (\_\_ARM\_FEATURE\_CMSE\ \ \ ==\ 3))}\textcolor{preprocessor}{}}
\DoxyCodeLine{00725\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \_\_TZ\_set\_PSPLIM\_NS(uint32\_t\ ProcStackPtrLimit)}
\DoxyCodeLine{00726\ \{}
\DoxyCodeLine{00727\ \textcolor{preprocessor}{\#if\ (!(defined\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ ==\ 1)))}}
\DoxyCodeLine{00728\ \ \ \textcolor{comment}{//\ without\ main\ extensions,\ the\ non-\/secure\ PSPLIM\ is\ RAZ/WI}}
\DoxyCodeLine{00729\ \ \ (void)ProcStackPtrLimit;}
\DoxyCodeLine{00730\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00731\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MSR\ psplim\_ns,\ \%0\(\backslash\)n"{}}\ :\ :\ \textcolor{stringliteral}{"{}r"{}}\ (ProcStackPtrLimit));}
\DoxyCodeLine{00732\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00733\ \}}
\DoxyCodeLine{00734\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00735\ }
\DoxyCodeLine{00736\ }
\DoxyCodeLine{00746\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_get\_MSPLIM(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00747\ \{}
\DoxyCodeLine{00748\ \textcolor{preprocessor}{\#if\ (!(defined\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ ==\ 1))\ \&\&\ \(\backslash\)}}
\DoxyCodeLine{00749\ \textcolor{preprocessor}{\ \ \ \ (!defined\ (\_\_ARM\_FEATURE\_CMSE)\ ||\ (\_\_ARM\_FEATURE\_CMSE\ <\ 3)))}}
\DoxyCodeLine{00750\ \ \ \textcolor{comment}{//\ without\ main\ extensions,\ the\ non-\/secure\ MSPLIM\ is\ RAZ/WI}}
\DoxyCodeLine{00751\ \ \ \textcolor{keywordflow}{return}\ 0U;}
\DoxyCodeLine{00752\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00753\ \ \ uint32\_t\ result;}
\DoxyCodeLine{00754\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MRS\ \%0,\ msplim"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ );}
\DoxyCodeLine{00755\ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{00756\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00757\ \}}
\DoxyCodeLine{00758\ }
\DoxyCodeLine{00759\ }
\DoxyCodeLine{00760\ \textcolor{preprocessor}{\#if\ (defined\ (\_\_ARM\_FEATURE\_CMSE\ \ )\ \&\&\ (\_\_ARM\_FEATURE\_CMSE\ \ \ ==\ 3))}\textcolor{preprocessor}{}}
\DoxyCodeLine{00769\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_TZ\_get\_MSPLIM\_NS(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00770\ \{}
\DoxyCodeLine{00771\ \textcolor{preprocessor}{\#if\ (!(defined\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ ==\ 1)))}}
\DoxyCodeLine{00772\ \ \ \textcolor{comment}{//\ without\ main\ extensions,\ the\ non-\/secure\ MSPLIM\ is\ RAZ/WI}}
\DoxyCodeLine{00773\ \ \ \textcolor{keywordflow}{return}\ 0U;}
\DoxyCodeLine{00774\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00775\ \ \ uint32\_t\ result;}
\DoxyCodeLine{00776\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MRS\ \%0,\ msplim\_ns"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ );}
\DoxyCodeLine{00777\ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{00778\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00779\ \}}
\DoxyCodeLine{00780\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00781\ }
\DoxyCodeLine{00782\ }
\DoxyCodeLine{00792\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \_\_set\_MSPLIM(uint32\_t\ MainStackPtrLimit)}
\DoxyCodeLine{00793\ \{}
\DoxyCodeLine{00794\ \textcolor{preprocessor}{\#if\ (!(defined\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ ==\ 1))\ \&\&\ \(\backslash\)}}
\DoxyCodeLine{00795\ \textcolor{preprocessor}{\ \ \ \ (!defined\ (\_\_ARM\_FEATURE\_CMSE)\ ||\ (\_\_ARM\_FEATURE\_CMSE\ <\ 3)))}}
\DoxyCodeLine{00796\ \ \ \textcolor{comment}{//\ without\ main\ extensions,\ the\ non-\/secure\ MSPLIM\ is\ RAZ/WI}}
\DoxyCodeLine{00797\ \ \ (void)MainStackPtrLimit;}
\DoxyCodeLine{00798\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00799\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MSR\ msplim,\ \%0"{}}\ :\ :\ \textcolor{stringliteral}{"{}r"{}}\ (MainStackPtrLimit));}
\DoxyCodeLine{00800\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00801\ \}}
\DoxyCodeLine{00802\ }
\DoxyCodeLine{00803\ }
\DoxyCodeLine{00804\ \textcolor{preprocessor}{\#if\ (defined\ (\_\_ARM\_FEATURE\_CMSE\ \ )\ \&\&\ (\_\_ARM\_FEATURE\_CMSE\ \ \ ==\ 3))}\textcolor{preprocessor}{}}
\DoxyCodeLine{00813\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \_\_TZ\_set\_MSPLIM\_NS(uint32\_t\ MainStackPtrLimit)}
\DoxyCodeLine{00814\ \{}
\DoxyCodeLine{00815\ \textcolor{preprocessor}{\#if\ (!(defined\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ ==\ 1)))}}
\DoxyCodeLine{00816\ \ \ \textcolor{comment}{//\ without\ main\ extensions,\ the\ non-\/secure\ MSPLIM\ is\ RAZ/WI}}
\DoxyCodeLine{00817\ \ \ (void)MainStackPtrLimit;}
\DoxyCodeLine{00818\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00819\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}MSR\ msplim\_ns,\ \%0"{}}\ :\ :\ \textcolor{stringliteral}{"{}r"{}}\ (MainStackPtrLimit));}
\DoxyCodeLine{00820\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00821\ \}}
\DoxyCodeLine{00822\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00823\ }
\DoxyCodeLine{00824\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{/*\ ((defined\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ ==\ 1))\ ||\ \(\backslash\)}}
\DoxyCodeLine{00825\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ (defined\ (\_\_ARM\_ARCH\_8M\_BASE\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_BASE\_\_\ ==\ 1))\ \ \ \ )\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{00826\ }
\DoxyCodeLine{00827\ }
\DoxyCodeLine{00833\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \mbox{\hyperlink{group___c_m_s_i_s___core___reg_acc_functions_ga4d0739b1355ca5642a7ce76df1271f01}{\_\_get\_FPSCR}}(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00834\ \{}
\DoxyCodeLine{00835\ \textcolor{preprocessor}{\#if\ ((defined\ (\_\_FPU\_PRESENT)\ \&\&\ (\_\_FPU\_PRESENT\ ==\ 1U))\ \&\&\ \(\backslash\)}}
\DoxyCodeLine{00836\ \textcolor{preprocessor}{\ \ \ \ \ (defined\ (\_\_FPU\_USED\ \ \ )\ \&\&\ (\_\_FPU\_USED\ \ \ \ ==\ 1U))\ \ \ \ \ )}}
\DoxyCodeLine{00837\ \textcolor{preprocessor}{\#if\ \_\_has\_builtin(\_\_builtin\_arm\_get\_fpscr)\ }}
\DoxyCodeLine{00838\ \textcolor{comment}{//\ Re-\/enable\ using\ built-\/in\ when\ GCC\ has\ been\ fixed}}
\DoxyCodeLine{00839\ \textcolor{comment}{//\ ||\ (\_\_GNUC\_\_\ >\ 7)\ ||\ (\_\_GNUC\_\_\ ==\ 7\ \&\&\ \_\_GNUC\_MINOR\_\_\ >=\ 2)}}
\DoxyCodeLine{00840\ \ \ \textcolor{comment}{/*\ see\ https://gcc.gnu.org/ml/gcc-\/patches/2017-\/04/msg00443.html\ */}}
\DoxyCodeLine{00841\ \ \ \textcolor{keywordflow}{return}\ \_\_builtin\_arm\_get\_fpscr();}
\DoxyCodeLine{00842\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00843\ \ \ uint32\_t\ result;}
\DoxyCodeLine{00844\ }
\DoxyCodeLine{00845\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}VMRS\ \%0,\ fpscr"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ );}
\DoxyCodeLine{00846\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{00847\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00848\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00849\ \ \ \textcolor{keywordflow}{return}(0U);}
\DoxyCodeLine{00850\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00851\ \}}
\DoxyCodeLine{00852\ }
\DoxyCodeLine{00853\ }
\DoxyCodeLine{00859\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{group___c_m_s_i_s___core___reg_acc_functions_ga3cd91c42ad2793c3f3ae553a1b975512}{\_\_set\_FPSCR}}(uint32\_t\ fpscr)}
\DoxyCodeLine{00860\ \{}
\DoxyCodeLine{00861\ \textcolor{preprocessor}{\#if\ ((defined\ (\_\_FPU\_PRESENT)\ \&\&\ (\_\_FPU\_PRESENT\ ==\ 1U))\ \&\&\ \(\backslash\)}}
\DoxyCodeLine{00862\ \textcolor{preprocessor}{\ \ \ \ \ (defined\ (\_\_FPU\_USED\ \ \ )\ \&\&\ (\_\_FPU\_USED\ \ \ \ ==\ 1U))\ \ \ \ \ )}}
\DoxyCodeLine{00863\ \textcolor{preprocessor}{\#if\ \_\_has\_builtin(\_\_builtin\_arm\_set\_fpscr)}}
\DoxyCodeLine{00864\ \textcolor{comment}{//\ Re-\/enable\ using\ built-\/in\ when\ GCC\ has\ been\ fixed}}
\DoxyCodeLine{00865\ \textcolor{comment}{//\ ||\ (\_\_GNUC\_\_\ >\ 7)\ ||\ (\_\_GNUC\_\_\ ==\ 7\ \&\&\ \_\_GNUC\_MINOR\_\_\ >=\ 2)}}
\DoxyCodeLine{00866\ \ \ \textcolor{comment}{/*\ see\ https://gcc.gnu.org/ml/gcc-\/patches/2017-\/04/msg00443.html\ */}}
\DoxyCodeLine{00867\ \ \ \_\_builtin\_arm\_set\_fpscr(fpscr);}
\DoxyCodeLine{00868\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00869\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}VMSR\ fpscr,\ \%0"{}}\ :\ :\ \textcolor{stringliteral}{"{}r"{}}\ (fpscr)\ :\ \textcolor{stringliteral}{"{}vfpcc"{}},\ \textcolor{stringliteral}{"{}memory"{}});}
\DoxyCodeLine{00870\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00871\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00872\ \ \ (void)fpscr;}
\DoxyCodeLine{00873\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00874\ \}}
\DoxyCodeLine{00875\ }
\DoxyCodeLine{00876\ }
\DoxyCodeLine{00878\ }
\DoxyCodeLine{00879\ }
\DoxyCodeLine{00880\ \textcolor{comment}{/*\ \#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\ \ Core\ Instruction\ Access\ \ \#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\ */}}
\DoxyCodeLine{00885\ }
\DoxyCodeLine{00886\ \textcolor{comment}{/*\ Define\ macros\ for\ porting\ to\ both\ thumb1\ and\ thumb2.}}
\DoxyCodeLine{00887\ \textcolor{comment}{\ *\ For\ thumb1,\ use\ low\ register\ (r0-\/r7),\ specified\ by\ constraint\ "{}l"{}}}
\DoxyCodeLine{00888\ \textcolor{comment}{\ *\ Otherwise,\ use\ general\ registers,\ specified\ by\ constraint\ "{}r"{}\ */}}
\DoxyCodeLine{00889\ \textcolor{preprocessor}{\#if\ defined\ (\_\_thumb\_\_)\ \&\&\ !defined\ (\_\_thumb2\_\_)}}
\DoxyCodeLine{00890\ \textcolor{preprocessor}{\#define\ \_\_CMSIS\_GCC\_OUT\_REG(r)\ "{}=l"{}\ (r)}}
\DoxyCodeLine{00891\ \textcolor{preprocessor}{\#define\ \_\_CMSIS\_GCC\_RW\_REG(r)\ "{}+l"{}\ (r)}}
\DoxyCodeLine{00892\ \textcolor{preprocessor}{\#define\ \_\_CMSIS\_GCC\_USE\_REG(r)\ "{}l"{}\ (r)}}
\DoxyCodeLine{00893\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00894\ \textcolor{preprocessor}{\#define\ \_\_CMSIS\_GCC\_OUT\_REG(r)\ "{}=r"{}\ (r)}}
\DoxyCodeLine{00895\ \textcolor{preprocessor}{\#define\ \_\_CMSIS\_GCC\_RW\_REG(r)\ "{}+r"{}\ (r)}}
\DoxyCodeLine{00896\ \textcolor{preprocessor}{\#define\ \_\_CMSIS\_GCC\_USE\_REG(r)\ "{}r"{}\ (r)}}
\DoxyCodeLine{00897\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00898\ }
\DoxyCodeLine{00903\ \textcolor{preprocessor}{\#define\ \_\_NOP()\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_ASM\ volatile\ ("{}nop"{})}}
\DoxyCodeLine{00904\ }
\DoxyCodeLine{00909\ \textcolor{preprocessor}{\#define\ \_\_WFI()\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_ASM\ volatile\ ("{}wfi"{})}}
\DoxyCodeLine{00910\ }
\DoxyCodeLine{00911\ }
\DoxyCodeLine{00917\ \textcolor{preprocessor}{\#define\ \_\_WFE()\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_ASM\ volatile\ ("{}wfe"{})}}
\DoxyCodeLine{00918\ }
\DoxyCodeLine{00919\ }
\DoxyCodeLine{00924\ \textcolor{preprocessor}{\#define\ \_\_SEV()\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_ASM\ volatile\ ("{}sev"{})}}
\DoxyCodeLine{00925\ }
\DoxyCodeLine{00926\ }
\DoxyCodeLine{00933\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{group___c_m_s_i_s___core___instruction_interface_gae26c2b3961e702aeabc24d4984ebd369}{\_\_ISB}}(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00934\ \{}
\DoxyCodeLine{00935\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}isb\ 0xF"{}}:::\textcolor{stringliteral}{"{}memory"{}});}
\DoxyCodeLine{00936\ \}}
\DoxyCodeLine{00937\ }
\DoxyCodeLine{00938\ }
\DoxyCodeLine{00944\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{group___c_m_s_i_s___core___instruction_interface_ga7fe277f5385d23b9c44b2cbda1577ce9}{\_\_DSB}}(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00945\ \{}
\DoxyCodeLine{00946\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}dsb\ 0xF"{}}:::\textcolor{stringliteral}{"{}memory"{}});}
\DoxyCodeLine{00947\ \}}
\DoxyCodeLine{00948\ }
\DoxyCodeLine{00949\ }
\DoxyCodeLine{00955\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{group___c_m_s_i_s___core___instruction_interface_gab1ea24daaaaee9c828f90cbca330cb5e}{\_\_DMB}}(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00956\ \{}
\DoxyCodeLine{00957\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}dmb\ 0xF"{}}:::\textcolor{stringliteral}{"{}memory"{}});}
\DoxyCodeLine{00958\ \}}
\DoxyCodeLine{00959\ }
\DoxyCodeLine{00960\ }
\DoxyCodeLine{00967\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \mbox{\hyperlink{group___c_m_s_i_s___core___instruction_interface_ga14f54807872c0f5e05604c4924abfdae}{\_\_REV}}(uint32\_t\ value)}
\DoxyCodeLine{00968\ \{}
\DoxyCodeLine{00969\ \textcolor{preprocessor}{\#if\ (\_\_GNUC\_\_\ >\ 4)\ ||\ (\_\_GNUC\_\_\ ==\ 4\ \&\&\ \_\_GNUC\_MINOR\_\_\ >=\ 5)}}
\DoxyCodeLine{00970\ \ \ \textcolor{keywordflow}{return}\ \_\_builtin\_bswap32(value);}
\DoxyCodeLine{00971\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00972\ \ \ uint32\_t\ result;}
\DoxyCodeLine{00973\ }
\DoxyCodeLine{00974\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}rev\ \%0,\ \%1"{}}\ :\ \_\_CMSIS\_GCC\_OUT\_REG\ (result)\ :\ \_\_CMSIS\_GCC\_USE\_REG\ (value)\ );}
\DoxyCodeLine{00975\ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{00976\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00977\ \}}
\DoxyCodeLine{00978\ }
\DoxyCodeLine{00979\ }
\DoxyCodeLine{00986\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \mbox{\hyperlink{group___c_m_s_i_s___core___instruction_interface_gad35497777af37e7809271b5e6f9510ba}{\_\_REV16}}(uint32\_t\ value)}
\DoxyCodeLine{00987\ \{}
\DoxyCodeLine{00988\ \ \ uint32\_t\ result;}
\DoxyCodeLine{00989\ }
\DoxyCodeLine{00990\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}rev16\ \%0,\ \%1"{}}\ :\ \_\_CMSIS\_GCC\_OUT\_REG\ (result)\ :\ \_\_CMSIS\_GCC\_USE\_REG\ (value)\ );}
\DoxyCodeLine{00991\ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{00992\ \}}
\DoxyCodeLine{00993\ }
\DoxyCodeLine{00994\ }
\DoxyCodeLine{01001\ \_\_STATIC\_FORCEINLINE\ int16\_t\ \mbox{\hyperlink{group___c_m_s_i_s___core___instruction_interface_gae580812686119c9c5cf3c11a7519a404}{\_\_REVSH}}(int16\_t\ value)}
\DoxyCodeLine{01002\ \{}
\DoxyCodeLine{01003\ \textcolor{preprocessor}{\#if\ (\_\_GNUC\_\_\ >\ 4)\ ||\ (\_\_GNUC\_\_\ ==\ 4\ \&\&\ \_\_GNUC\_MINOR\_\_\ >=\ 8)}}
\DoxyCodeLine{01004\ \ \ \textcolor{keywordflow}{return}\ (int16\_t)\_\_builtin\_bswap16(value);}
\DoxyCodeLine{01005\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{01006\ \ \ int16\_t\ result;}
\DoxyCodeLine{01007\ }
\DoxyCodeLine{01008\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}revsh\ \%0,\ \%1"{}}\ :\ \_\_CMSIS\_GCC\_OUT\_REG\ (result)\ :\ \_\_CMSIS\_GCC\_USE\_REG\ (value)\ );}
\DoxyCodeLine{01009\ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{01010\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{01011\ \}}
\DoxyCodeLine{01012\ }
\DoxyCodeLine{01013\ }
\DoxyCodeLine{01021\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \mbox{\hyperlink{group___c_m_s_i_s___core___instruction_interface_ga95b9bd281ddeda378b85afdb8f2ced86}{\_\_ROR}}(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01022\ \{}
\DoxyCodeLine{01023\ \ \ op2\ \%=\ 32U;}
\DoxyCodeLine{01024\ \ \ \textcolor{keywordflow}{if}\ (op2\ ==\ 0U)}
\DoxyCodeLine{01025\ \ \ \{}
\DoxyCodeLine{01026\ \ \ \ \ \textcolor{keywordflow}{return}\ op1;}
\DoxyCodeLine{01027\ \ \ \}}
\DoxyCodeLine{01028\ \ \ \textcolor{keywordflow}{return}\ (op1\ >>\ op2)\ |\ (op1\ <<\ (32U\ -\/\ op2));}
\DoxyCodeLine{01029\ \}}
\DoxyCodeLine{01030\ }
\DoxyCodeLine{01031\ }
\DoxyCodeLine{01039\ \textcolor{preprocessor}{\#define\ \_\_BKPT(value)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_ASM\ volatile\ ("{}bkpt\ "{}\#value)}}
\DoxyCodeLine{01040\ }
\DoxyCodeLine{01041\ }
\DoxyCodeLine{01048\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \mbox{\hyperlink{group___c_m_s_i_s___core___instruction_interface_gab83768933a612816fad669db5488366f}{\_\_RBIT}}(uint32\_t\ value)}
\DoxyCodeLine{01049\ \{}
\DoxyCodeLine{01050\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01051\ }
\DoxyCodeLine{01052\ \textcolor{preprocessor}{\#if\ ((defined\ (\_\_ARM\_ARCH\_7M\_\_\ \ \ \ \ \ )\ \&\&\ (\_\_ARM\_ARCH\_7M\_\_\ \ \ \ \ \ ==\ 1))\ ||\ \(\backslash\)}}
\DoxyCodeLine{01053\ \textcolor{preprocessor}{\ \ \ \ \ (defined\ (\_\_ARM\_ARCH\_7EM\_\_\ \ \ \ \ )\ \&\&\ (\_\_ARM\_ARCH\_7EM\_\_\ \ \ \ \ ==\ 1))\ ||\ \(\backslash\)}}
\DoxyCodeLine{01054\ \textcolor{preprocessor}{\ \ \ \ \ (defined\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ ==\ 1))\ \ \ \ )}}
\DoxyCodeLine{01055\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}rbit\ \%0,\ \%1"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (value)\ );}
\DoxyCodeLine{01056\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{01057\ \ \ uint32\_t\ s\ =\ (4U\ \textcolor{comment}{/*sizeof(v)*/}\ *\ 8U)\ -\/\ 1U;\ \textcolor{comment}{/*\ extra\ shift\ needed\ at\ end\ */}}
\DoxyCodeLine{01058\ }
\DoxyCodeLine{01059\ \ \ result\ =\ value;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ r\ will\ be\ reversed\ bits\ of\ v;\ first\ get\ LSB\ of\ v\ */}}
\DoxyCodeLine{01060\ \ \ \textcolor{keywordflow}{for}\ (value\ >>=\ 1U;\ value\ !=\ 0U;\ value\ >>=\ 1U)}
\DoxyCodeLine{01061\ \ \ \{}
\DoxyCodeLine{01062\ \ \ \ \ result\ <<=\ 1U;}
\DoxyCodeLine{01063\ \ \ \ \ result\ |=\ value\ \&\ 1U;}
\DoxyCodeLine{01064\ \ \ \ \ s-\/-\/;}
\DoxyCodeLine{01065\ \ \ \}}
\DoxyCodeLine{01066\ \ \ result\ <<=\ s;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ shift\ when\ v's\ highest\ bits\ are\ zero\ */}}
\DoxyCodeLine{01067\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{01068\ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{01069\ \}}
\DoxyCodeLine{01070\ }
\DoxyCodeLine{01071\ }
\DoxyCodeLine{01078\ \_\_STATIC\_FORCEINLINE\ uint8\_t\ \mbox{\hyperlink{group___c_m_s_i_s___core___instruction_interface_ga5d5bb1527e042be4a9fa5a33f65cc248}{\_\_CLZ}}(uint32\_t\ value)}
\DoxyCodeLine{01079\ \{}
\DoxyCodeLine{01080\ \ \ \textcolor{comment}{/*\ Even\ though\ \_\_builtin\_clz\ produces\ a\ CLZ\ instruction\ on\ ARM,\ formally}}
\DoxyCodeLine{01081\ \textcolor{comment}{\ \ \ \ \ \_\_builtin\_clz(0)\ is\ undefined\ behaviour,\ so\ handle\ this\ case\ specially.}}
\DoxyCodeLine{01082\ \textcolor{comment}{\ \ \ \ \ This\ guarantees\ ARM-\/compatible\ results\ if\ happening\ to\ compile\ on\ a\ non-\/ARM}}
\DoxyCodeLine{01083\ \textcolor{comment}{\ \ \ \ \ target,\ and\ ensures\ the\ compiler\ doesn't\ decide\ to\ activate\ any}}
\DoxyCodeLine{01084\ \textcolor{comment}{\ \ \ \ \ optimisations\ using\ the\ logic\ "{}value\ was\ passed\ to\ \_\_builtin\_clz,\ so\ it}}
\DoxyCodeLine{01085\ \textcolor{comment}{\ \ \ \ \ is\ non-\/zero"{}.}}
\DoxyCodeLine{01086\ \textcolor{comment}{\ \ \ \ \ ARM\ GCC\ 7.3\ and\ possibly\ earlier\ will\ optimise\ this\ test\ away,\ leaving\ a}}
\DoxyCodeLine{01087\ \textcolor{comment}{\ \ \ \ \ single\ CLZ\ instruction.}}
\DoxyCodeLine{01088\ \textcolor{comment}{\ \ \ */}}
\DoxyCodeLine{01089\ \ \ \textcolor{keywordflow}{if}\ (value\ ==\ 0U)}
\DoxyCodeLine{01090\ \ \ \{}
\DoxyCodeLine{01091\ \ \ \ \ \textcolor{keywordflow}{return}\ 32U;}
\DoxyCodeLine{01092\ \ \ \}}
\DoxyCodeLine{01093\ \ \ \textcolor{keywordflow}{return}\ \_\_builtin\_clz(value);}
\DoxyCodeLine{01094\ \}}
\DoxyCodeLine{01095\ }
\DoxyCodeLine{01096\ }
\DoxyCodeLine{01097\ \textcolor{preprocessor}{\#if\ ((defined\ (\_\_ARM\_ARCH\_7M\_\_\ \ \ \ \ \ )\ \&\&\ (\_\_ARM\_ARCH\_7M\_\_\ \ \ \ \ \ ==\ 1))\ ||\ \(\backslash\)}}
\DoxyCodeLine{01098\ \textcolor{preprocessor}{\ \ \ \ \ (defined\ (\_\_ARM\_ARCH\_7EM\_\_\ \ \ \ \ )\ \&\&\ (\_\_ARM\_ARCH\_7EM\_\_\ \ \ \ \ ==\ 1))\ ||\ \(\backslash\)}}
\DoxyCodeLine{01099\ \textcolor{preprocessor}{\ \ \ \ \ (defined\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ ==\ 1))\ ||\ \(\backslash\)}}
\DoxyCodeLine{01100\ \textcolor{preprocessor}{\ \ \ \ \ (defined\ (\_\_ARM\_ARCH\_8M\_BASE\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_BASE\_\_\ ==\ 1))\ \ \ \ )}\textcolor{preprocessor}{}}
\DoxyCodeLine{01107\ \_\_STATIC\_FORCEINLINE\ uint8\_t\ \_\_LDREXB(\textcolor{keyword}{volatile}\ uint8\_t\ *addr)}
\DoxyCodeLine{01108\ \{}
\DoxyCodeLine{01109\ \ \ \ \ uint32\_t\ result;}
\DoxyCodeLine{01110\ }
\DoxyCodeLine{01111\ \textcolor{preprocessor}{\#if\ (\_\_GNUC\_\_\ >\ 4)\ ||\ (\_\_GNUC\_\_\ ==\ 4\ \&\&\ \_\_GNUC\_MINOR\_\_\ >=\ 8)}}
\DoxyCodeLine{01112\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}ldrexb\ \%0,\ \%1"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}Q"{}}\ (*addr)\ );}
\DoxyCodeLine{01113\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{01114\ \ \ \ \ \textcolor{comment}{/*\ Prior\ to\ GCC\ 4.8,\ "{}Q"{}\ will\ be\ expanded\ to\ [rx,\ \#0]\ which\ is\ not}}
\DoxyCodeLine{01115\ \textcolor{comment}{\ \ \ \ \ \ \ accepted\ by\ assembler.\ So\ has\ to\ use\ following\ less\ efficient\ pattern.}}
\DoxyCodeLine{01116\ \textcolor{comment}{\ \ \ \ */}}
\DoxyCodeLine{01117\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}ldrexb\ \%0,\ [\%1]"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (addr)\ :\ \textcolor{stringliteral}{"{}memory"{}}\ );}
\DoxyCodeLine{01118\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{01119\ \ \ \ \textcolor{keywordflow}{return}\ ((uint8\_t)\ result);\ \ \ \ \textcolor{comment}{/*\ Add\ explicit\ type\ cast\ here\ */}}
\DoxyCodeLine{01120\ \}}
\DoxyCodeLine{01121\ }
\DoxyCodeLine{01122\ }
\DoxyCodeLine{01129\ \_\_STATIC\_FORCEINLINE\ uint16\_t\ \_\_LDREXH(\textcolor{keyword}{volatile}\ uint16\_t\ *addr)}
\DoxyCodeLine{01130\ \{}
\DoxyCodeLine{01131\ \ \ \ \ uint32\_t\ result;}
\DoxyCodeLine{01132\ }
\DoxyCodeLine{01133\ \textcolor{preprocessor}{\#if\ (\_\_GNUC\_\_\ >\ 4)\ ||\ (\_\_GNUC\_\_\ ==\ 4\ \&\&\ \_\_GNUC\_MINOR\_\_\ >=\ 8)}}
\DoxyCodeLine{01134\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}ldrexh\ \%0,\ \%1"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}Q"{}}\ (*addr)\ );}
\DoxyCodeLine{01135\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{01136\ \ \ \ \ \textcolor{comment}{/*\ Prior\ to\ GCC\ 4.8,\ "{}Q"{}\ will\ be\ expanded\ to\ [rx,\ \#0]\ which\ is\ not}}
\DoxyCodeLine{01137\ \textcolor{comment}{\ \ \ \ \ \ \ accepted\ by\ assembler.\ So\ has\ to\ use\ following\ less\ efficient\ pattern.}}
\DoxyCodeLine{01138\ \textcolor{comment}{\ \ \ \ */}}
\DoxyCodeLine{01139\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}ldrexh\ \%0,\ [\%1]"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (addr)\ :\ \textcolor{stringliteral}{"{}memory"{}}\ );}
\DoxyCodeLine{01140\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{01141\ \ \ \ \textcolor{keywordflow}{return}\ ((uint16\_t)\ result);\ \ \ \ \textcolor{comment}{/*\ Add\ explicit\ type\ cast\ here\ */}}
\DoxyCodeLine{01142\ \}}
\DoxyCodeLine{01143\ }
\DoxyCodeLine{01144\ }
\DoxyCodeLine{01151\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_LDREXW(\textcolor{keyword}{volatile}\ uint32\_t\ *addr)}
\DoxyCodeLine{01152\ \{}
\DoxyCodeLine{01153\ \ \ \ \ uint32\_t\ result;}
\DoxyCodeLine{01154\ }
\DoxyCodeLine{01155\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}ldrex\ \%0,\ \%1"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}Q"{}}\ (*addr)\ );}
\DoxyCodeLine{01156\ \ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01157\ \}}
\DoxyCodeLine{01158\ }
\DoxyCodeLine{01159\ }
\DoxyCodeLine{01168\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_STREXB(uint8\_t\ value,\ \textcolor{keyword}{volatile}\ uint8\_t\ *addr)}
\DoxyCodeLine{01169\ \{}
\DoxyCodeLine{01170\ \ \ \ uint32\_t\ result;}
\DoxyCodeLine{01171\ }
\DoxyCodeLine{01172\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}strexb\ \%0,\ \%2,\ \%1"{}}\ :\ \textcolor{stringliteral}{"{}=\&r"{}}\ (result),\ \textcolor{stringliteral}{"{}=Q"{}}\ (*addr)\ :\ \textcolor{stringliteral}{"{}r"{}}\ ((uint32\_t)value)\ );}
\DoxyCodeLine{01173\ \ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01174\ \}}
\DoxyCodeLine{01175\ }
\DoxyCodeLine{01176\ }
\DoxyCodeLine{01185\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_STREXH(uint16\_t\ value,\ \textcolor{keyword}{volatile}\ uint16\_t\ *addr)}
\DoxyCodeLine{01186\ \{}
\DoxyCodeLine{01187\ \ \ \ uint32\_t\ result;}
\DoxyCodeLine{01188\ }
\DoxyCodeLine{01189\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}strexh\ \%0,\ \%2,\ \%1"{}}\ :\ \textcolor{stringliteral}{"{}=\&r"{}}\ (result),\ \textcolor{stringliteral}{"{}=Q"{}}\ (*addr)\ :\ \textcolor{stringliteral}{"{}r"{}}\ ((uint32\_t)value)\ );}
\DoxyCodeLine{01190\ \ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01191\ \}}
\DoxyCodeLine{01192\ }
\DoxyCodeLine{01193\ }
\DoxyCodeLine{01202\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_STREXW(uint32\_t\ value,\ \textcolor{keyword}{volatile}\ uint32\_t\ *addr)}
\DoxyCodeLine{01203\ \{}
\DoxyCodeLine{01204\ \ \ \ uint32\_t\ result;}
\DoxyCodeLine{01205\ }
\DoxyCodeLine{01206\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}strex\ \%0,\ \%2,\ \%1"{}}\ :\ \textcolor{stringliteral}{"{}=\&r"{}}\ (result),\ \textcolor{stringliteral}{"{}=Q"{}}\ (*addr)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (value)\ );}
\DoxyCodeLine{01207\ \ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01208\ \}}
\DoxyCodeLine{01209\ }
\DoxyCodeLine{01210\ }
\DoxyCodeLine{01215\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \_\_CLREX(\textcolor{keywordtype}{void})}
\DoxyCodeLine{01216\ \{}
\DoxyCodeLine{01217\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}clrex"{}}\ :::\ \textcolor{stringliteral}{"{}memory"{}});}
\DoxyCodeLine{01218\ \}}
\DoxyCodeLine{01219\ }
\DoxyCodeLine{01220\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{/*\ ((defined\ (\_\_ARM\_ARCH\_7M\_\_\ \ \ \ \ \ )\ \&\&\ (\_\_ARM\_ARCH\_7M\_\_\ \ \ \ \ \ ==\ 1))\ ||\ \(\backslash\)}}
\DoxyCodeLine{01221\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ (defined\ (\_\_ARM\_ARCH\_7EM\_\_\ \ \ \ \ )\ \&\&\ (\_\_ARM\_ARCH\_7EM\_\_\ \ \ \ \ ==\ 1))\ ||\ \(\backslash\)}}
\DoxyCodeLine{01222\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ (defined\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ ==\ 1))\ ||\ \(\backslash\)}}
\DoxyCodeLine{01223\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ (defined\ (\_\_ARM\_ARCH\_8M\_BASE\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_BASE\_\_\ ==\ 1))\ \ \ \ )\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{01224\ }
\DoxyCodeLine{01225\ }
\DoxyCodeLine{01226\ \textcolor{preprocessor}{\#if\ ((defined\ (\_\_ARM\_ARCH\_7M\_\_\ \ \ \ \ \ )\ \&\&\ (\_\_ARM\_ARCH\_7M\_\_\ \ \ \ \ \ ==\ 1))\ ||\ \(\backslash\)}}
\DoxyCodeLine{01227\ \textcolor{preprocessor}{\ \ \ \ \ (defined\ (\_\_ARM\_ARCH\_7EM\_\_\ \ \ \ \ )\ \&\&\ (\_\_ARM\_ARCH\_7EM\_\_\ \ \ \ \ ==\ 1))\ ||\ \(\backslash\)}}
\DoxyCodeLine{01228\ \textcolor{preprocessor}{\ \ \ \ \ (defined\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ ==\ 1))\ \ \ \ )}\textcolor{preprocessor}{}}
\DoxyCodeLine{01236\ \textcolor{preprocessor}{\#define\ \_\_SSAT(ARG1,ARG2)\ \(\backslash\)}}
\DoxyCodeLine{01237\ \textcolor{preprocessor}{\_\_extension\_\_\ \(\backslash\)}}
\DoxyCodeLine{01238\ \textcolor{preprocessor}{(\{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{01239\ \textcolor{preprocessor}{\ \ int32\_t\ \_\_RES,\ \_\_ARG1\ =\ (ARG1);\ \(\backslash\)}}
\DoxyCodeLine{01240\ \textcolor{preprocessor}{\ \ \_\_ASM\ ("{}ssat\ \%0,\ \%1,\ \%2"{}\ :\ "{}=r"{}\ (\_\_RES)\ :\ \ "{}I"{}\ (ARG2),\ "{}r"{}\ (\_\_ARG1)\ );\ \(\backslash\)}}
\DoxyCodeLine{01241\ \textcolor{preprocessor}{\ \ \_\_RES;\ \(\backslash\)}}
\DoxyCodeLine{01242\ \textcolor{preprocessor}{\ \})}}
\DoxyCodeLine{01243\ }
\DoxyCodeLine{01244\ }
\DoxyCodeLine{01252\ \textcolor{preprocessor}{\#define\ \_\_USAT(ARG1,ARG2)\ \(\backslash\)}}
\DoxyCodeLine{01253\ \textcolor{preprocessor}{\ \_\_extension\_\_\ \(\backslash\)}}
\DoxyCodeLine{01254\ \textcolor{preprocessor}{(\{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{01255\ \textcolor{preprocessor}{\ \ uint32\_t\ \_\_RES,\ \_\_ARG1\ =\ (ARG1);\ \(\backslash\)}}
\DoxyCodeLine{01256\ \textcolor{preprocessor}{\ \ \_\_ASM\ ("{}usat\ \%0,\ \%1,\ \%2"{}\ :\ "{}=r"{}\ (\_\_RES)\ :\ \ "{}I"{}\ (ARG2),\ "{}r"{}\ (\_\_ARG1)\ );\ \(\backslash\)}}
\DoxyCodeLine{01257\ \textcolor{preprocessor}{\ \ \_\_RES;\ \(\backslash\)}}
\DoxyCodeLine{01258\ \textcolor{preprocessor}{\ \})}}
\DoxyCodeLine{01259\ }
\DoxyCodeLine{01260\ }
\DoxyCodeLine{01268\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_RRX(uint32\_t\ value)}
\DoxyCodeLine{01269\ \{}
\DoxyCodeLine{01270\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01271\ }
\DoxyCodeLine{01272\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}rrx\ \%0,\ \%1"{}}\ :\ \_\_CMSIS\_GCC\_OUT\_REG\ (result)\ :\ \_\_CMSIS\_GCC\_USE\_REG\ (value)\ );}
\DoxyCodeLine{01273\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01274\ \}}
\DoxyCodeLine{01275\ }
\DoxyCodeLine{01276\ }
\DoxyCodeLine{01283\ \_\_STATIC\_FORCEINLINE\ uint8\_t\ \_\_LDRBT(\textcolor{keyword}{volatile}\ uint8\_t\ *ptr)}
\DoxyCodeLine{01284\ \{}
\DoxyCodeLine{01285\ \ \ \ \ uint32\_t\ result;}
\DoxyCodeLine{01286\ }
\DoxyCodeLine{01287\ \textcolor{preprocessor}{\#if\ (\_\_GNUC\_\_\ >\ 4)\ ||\ (\_\_GNUC\_\_\ ==\ 4\ \&\&\ \_\_GNUC\_MINOR\_\_\ >=\ 8)}}
\DoxyCodeLine{01288\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}ldrbt\ \%0,\ \%1"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}Q"{}}\ (*ptr)\ );}
\DoxyCodeLine{01289\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{01290\ \ \ \ \ \textcolor{comment}{/*\ Prior\ to\ GCC\ 4.8,\ "{}Q"{}\ will\ be\ expanded\ to\ [rx,\ \#0]\ which\ is\ not}}
\DoxyCodeLine{01291\ \textcolor{comment}{\ \ \ \ \ \ \ accepted\ by\ assembler.\ So\ has\ to\ use\ following\ less\ efficient\ pattern.}}
\DoxyCodeLine{01292\ \textcolor{comment}{\ \ \ \ */}}
\DoxyCodeLine{01293\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}ldrbt\ \%0,\ [\%1]"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (ptr)\ :\ \textcolor{stringliteral}{"{}memory"{}}\ );}
\DoxyCodeLine{01294\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{01295\ \ \ \ \textcolor{keywordflow}{return}\ ((uint8\_t)\ result);\ \ \ \ \textcolor{comment}{/*\ Add\ explicit\ type\ cast\ here\ */}}
\DoxyCodeLine{01296\ \}}
\DoxyCodeLine{01297\ }
\DoxyCodeLine{01298\ }
\DoxyCodeLine{01305\ \_\_STATIC\_FORCEINLINE\ uint16\_t\ \_\_LDRHT(\textcolor{keyword}{volatile}\ uint16\_t\ *ptr)}
\DoxyCodeLine{01306\ \{}
\DoxyCodeLine{01307\ \ \ \ \ uint32\_t\ result;}
\DoxyCodeLine{01308\ }
\DoxyCodeLine{01309\ \textcolor{preprocessor}{\#if\ (\_\_GNUC\_\_\ >\ 4)\ ||\ (\_\_GNUC\_\_\ ==\ 4\ \&\&\ \_\_GNUC\_MINOR\_\_\ >=\ 8)}}
\DoxyCodeLine{01310\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}ldrht\ \%0,\ \%1"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}Q"{}}\ (*ptr)\ );}
\DoxyCodeLine{01311\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{01312\ \ \ \ \ \textcolor{comment}{/*\ Prior\ to\ GCC\ 4.8,\ "{}Q"{}\ will\ be\ expanded\ to\ [rx,\ \#0]\ which\ is\ not}}
\DoxyCodeLine{01313\ \textcolor{comment}{\ \ \ \ \ \ \ accepted\ by\ assembler.\ So\ has\ to\ use\ following\ less\ efficient\ pattern.}}
\DoxyCodeLine{01314\ \textcolor{comment}{\ \ \ \ */}}
\DoxyCodeLine{01315\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}ldrht\ \%0,\ [\%1]"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (ptr)\ :\ \textcolor{stringliteral}{"{}memory"{}}\ );}
\DoxyCodeLine{01316\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{01317\ \ \ \ \textcolor{keywordflow}{return}\ ((uint16\_t)\ result);\ \ \ \ \textcolor{comment}{/*\ Add\ explicit\ type\ cast\ here\ */}}
\DoxyCodeLine{01318\ \}}
\DoxyCodeLine{01319\ }
\DoxyCodeLine{01320\ }
\DoxyCodeLine{01327\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_LDRT(\textcolor{keyword}{volatile}\ uint32\_t\ *ptr)}
\DoxyCodeLine{01328\ \{}
\DoxyCodeLine{01329\ \ \ \ \ uint32\_t\ result;}
\DoxyCodeLine{01330\ }
\DoxyCodeLine{01331\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}ldrt\ \%0,\ \%1"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}Q"{}}\ (*ptr)\ );}
\DoxyCodeLine{01332\ \ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01333\ \}}
\DoxyCodeLine{01334\ }
\DoxyCodeLine{01335\ }
\DoxyCodeLine{01342\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \_\_STRBT(uint8\_t\ value,\ \textcolor{keyword}{volatile}\ uint8\_t\ *ptr)}
\DoxyCodeLine{01343\ \{}
\DoxyCodeLine{01344\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}strbt\ \%1,\ \%0"{}}\ :\ \textcolor{stringliteral}{"{}=Q"{}}\ (*ptr)\ :\ \textcolor{stringliteral}{"{}r"{}}\ ((uint32\_t)value)\ );}
\DoxyCodeLine{01345\ \}}
\DoxyCodeLine{01346\ }
\DoxyCodeLine{01347\ }
\DoxyCodeLine{01354\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \_\_STRHT(uint16\_t\ value,\ \textcolor{keyword}{volatile}\ uint16\_t\ *ptr)}
\DoxyCodeLine{01355\ \{}
\DoxyCodeLine{01356\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}strht\ \%1,\ \%0"{}}\ :\ \textcolor{stringliteral}{"{}=Q"{}}\ (*ptr)\ :\ \textcolor{stringliteral}{"{}r"{}}\ ((uint32\_t)value)\ );}
\DoxyCodeLine{01357\ \}}
\DoxyCodeLine{01358\ }
\DoxyCodeLine{01359\ }
\DoxyCodeLine{01366\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \_\_STRT(uint32\_t\ value,\ \textcolor{keyword}{volatile}\ uint32\_t\ *ptr)}
\DoxyCodeLine{01367\ \{}
\DoxyCodeLine{01368\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}strt\ \%1,\ \%0"{}}\ :\ \textcolor{stringliteral}{"{}=Q"{}}\ (*ptr)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (value)\ );}
\DoxyCodeLine{01369\ \}}
\DoxyCodeLine{01370\ }
\DoxyCodeLine{01371\ \textcolor{preprocessor}{\#else\ \ }\textcolor{comment}{/*\ ((defined\ (\_\_ARM\_ARCH\_7M\_\_\ \ \ \ \ \ )\ \&\&\ (\_\_ARM\_ARCH\_7M\_\_\ \ \ \ \ \ ==\ 1))\ ||\ \(\backslash\)}}
\DoxyCodeLine{01372\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ (defined\ (\_\_ARM\_ARCH\_7EM\_\_\ \ \ \ \ )\ \&\&\ (\_\_ARM\_ARCH\_7EM\_\_\ \ \ \ \ ==\ 1))\ ||\ \(\backslash\)}}
\DoxyCodeLine{01373\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ (defined\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ ==\ 1))\ \ \ \ )\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{01374\ }
\DoxyCodeLine{01382\ \_\_STATIC\_FORCEINLINE\ int32\_t\ \mbox{\hyperlink{group___c_m_s_i_s___core___instruction_interface_ga372c0535573dde3e37f0f08c774a3487}{\_\_SSAT}}(int32\_t\ val,\ uint32\_t\ sat)}
\DoxyCodeLine{01383\ \{}
\DoxyCodeLine{01384\ \ \ \textcolor{keywordflow}{if}\ ((sat\ >=\ 1U)\ \&\&\ (sat\ <=\ 32U))}
\DoxyCodeLine{01385\ \ \ \{}
\DoxyCodeLine{01386\ \ \ \ \ \textcolor{keyword}{const}\ int32\_t\ max\ =\ (int32\_t)((1U\ <<\ (sat\ -\/\ 1U))\ -\/\ 1U);}
\DoxyCodeLine{01387\ \ \ \ \ \textcolor{keyword}{const}\ int32\_t\ min\ =\ -\/1\ -\/\ max\ ;}
\DoxyCodeLine{01388\ \ \ \ \ \textcolor{keywordflow}{if}\ (val\ >\ max)}
\DoxyCodeLine{01389\ \ \ \ \ \{}
\DoxyCodeLine{01390\ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ max;}
\DoxyCodeLine{01391\ \ \ \ \ \}}
\DoxyCodeLine{01392\ \ \ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}\ (val\ <\ min)}
\DoxyCodeLine{01393\ \ \ \ \ \{}
\DoxyCodeLine{01394\ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ min;}
\DoxyCodeLine{01395\ \ \ \ \ \}}
\DoxyCodeLine{01396\ \ \ \}}
\DoxyCodeLine{01397\ \ \ \textcolor{keywordflow}{return}\ val;}
\DoxyCodeLine{01398\ \}}
\DoxyCodeLine{01399\ }
\DoxyCodeLine{01407\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \mbox{\hyperlink{group___c_m_s_i_s___core___instruction_interface_ga6562dbd8182d1571e22dbca7ebdfa9bc}{\_\_USAT}}(int32\_t\ val,\ uint32\_t\ sat)}
\DoxyCodeLine{01408\ \{}
\DoxyCodeLine{01409\ \ \ \textcolor{keywordflow}{if}\ (sat\ <=\ 31U)}
\DoxyCodeLine{01410\ \ \ \{}
\DoxyCodeLine{01411\ \ \ \ \ \textcolor{keyword}{const}\ uint32\_t\ max\ =\ ((1U\ <<\ sat)\ -\/\ 1U);}
\DoxyCodeLine{01412\ \ \ \ \ \textcolor{keywordflow}{if}\ (val\ >\ (int32\_t)max)}
\DoxyCodeLine{01413\ \ \ \ \ \{}
\DoxyCodeLine{01414\ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ max;}
\DoxyCodeLine{01415\ \ \ \ \ \}}
\DoxyCodeLine{01416\ \ \ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}\ (val\ <\ 0)}
\DoxyCodeLine{01417\ \ \ \ \ \{}
\DoxyCodeLine{01418\ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ 0U;}
\DoxyCodeLine{01419\ \ \ \ \ \}}
\DoxyCodeLine{01420\ \ \ \}}
\DoxyCodeLine{01421\ \ \ \textcolor{keywordflow}{return}\ (uint32\_t)val;}
\DoxyCodeLine{01422\ \}}
\DoxyCodeLine{01423\ }
\DoxyCodeLine{01424\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{/*\ ((defined\ (\_\_ARM\_ARCH\_7M\_\_\ \ \ \ \ \ )\ \&\&\ (\_\_ARM\_ARCH\_7M\_\_\ \ \ \ \ \ ==\ 1))\ ||\ \(\backslash\)}}
\DoxyCodeLine{01425\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ (defined\ (\_\_ARM\_ARCH\_7EM\_\_\ \ \ \ \ )\ \&\&\ (\_\_ARM\_ARCH\_7EM\_\_\ \ \ \ \ ==\ 1))\ ||\ \(\backslash\)}}
\DoxyCodeLine{01426\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ (defined\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ ==\ 1))\ \ \ \ )\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{01427\ }
\DoxyCodeLine{01428\ }
\DoxyCodeLine{01429\ \textcolor{preprocessor}{\#if\ ((defined\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ ==\ 1))\ ||\ \(\backslash\)}}
\DoxyCodeLine{01430\ \textcolor{preprocessor}{\ \ \ \ \ (defined\ (\_\_ARM\_ARCH\_8M\_BASE\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_BASE\_\_\ ==\ 1))\ \ \ \ )}\textcolor{preprocessor}{}}
\DoxyCodeLine{01437\ \_\_STATIC\_FORCEINLINE\ uint8\_t\ \_\_LDAB(\textcolor{keyword}{volatile}\ uint8\_t\ *ptr)}
\DoxyCodeLine{01438\ \{}
\DoxyCodeLine{01439\ \ \ \ \ uint32\_t\ result;}
\DoxyCodeLine{01440\ }
\DoxyCodeLine{01441\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}ldab\ \%0,\ \%1"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}Q"{}}\ (*ptr)\ );}
\DoxyCodeLine{01442\ \ \ \ \textcolor{keywordflow}{return}\ ((uint8\_t)\ result);}
\DoxyCodeLine{01443\ \}}
\DoxyCodeLine{01444\ }
\DoxyCodeLine{01445\ }
\DoxyCodeLine{01452\ \_\_STATIC\_FORCEINLINE\ uint16\_t\ \_\_LDAH(\textcolor{keyword}{volatile}\ uint16\_t\ *ptr)}
\DoxyCodeLine{01453\ \{}
\DoxyCodeLine{01454\ \ \ \ \ uint32\_t\ result;}
\DoxyCodeLine{01455\ }
\DoxyCodeLine{01456\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}ldah\ \%0,\ \%1"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}Q"{}}\ (*ptr)\ );}
\DoxyCodeLine{01457\ \ \ \ \textcolor{keywordflow}{return}\ ((uint16\_t)\ result);}
\DoxyCodeLine{01458\ \}}
\DoxyCodeLine{01459\ }
\DoxyCodeLine{01460\ }
\DoxyCodeLine{01467\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_LDA(\textcolor{keyword}{volatile}\ uint32\_t\ *ptr)}
\DoxyCodeLine{01468\ \{}
\DoxyCodeLine{01469\ \ \ \ \ uint32\_t\ result;}
\DoxyCodeLine{01470\ }
\DoxyCodeLine{01471\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}lda\ \%0,\ \%1"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}Q"{}}\ (*ptr)\ );}
\DoxyCodeLine{01472\ \ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01473\ \}}
\DoxyCodeLine{01474\ }
\DoxyCodeLine{01475\ }
\DoxyCodeLine{01482\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \_\_STLB(uint8\_t\ value,\ \textcolor{keyword}{volatile}\ uint8\_t\ *ptr)}
\DoxyCodeLine{01483\ \{}
\DoxyCodeLine{01484\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}stlb\ \%1,\ \%0"{}}\ :\ \textcolor{stringliteral}{"{}=Q"{}}\ (*ptr)\ :\ \textcolor{stringliteral}{"{}r"{}}\ ((uint32\_t)value)\ );}
\DoxyCodeLine{01485\ \}}
\DoxyCodeLine{01486\ }
\DoxyCodeLine{01487\ }
\DoxyCodeLine{01494\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \_\_STLH(uint16\_t\ value,\ \textcolor{keyword}{volatile}\ uint16\_t\ *ptr)}
\DoxyCodeLine{01495\ \{}
\DoxyCodeLine{01496\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}stlh\ \%1,\ \%0"{}}\ :\ \textcolor{stringliteral}{"{}=Q"{}}\ (*ptr)\ :\ \textcolor{stringliteral}{"{}r"{}}\ ((uint32\_t)value)\ );}
\DoxyCodeLine{01497\ \}}
\DoxyCodeLine{01498\ }
\DoxyCodeLine{01499\ }
\DoxyCodeLine{01506\ \_\_STATIC\_FORCEINLINE\ \textcolor{keywordtype}{void}\ \_\_STL(uint32\_t\ value,\ \textcolor{keyword}{volatile}\ uint32\_t\ *ptr)}
\DoxyCodeLine{01507\ \{}
\DoxyCodeLine{01508\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}stl\ \%1,\ \%0"{}}\ :\ \textcolor{stringliteral}{"{}=Q"{}}\ (*ptr)\ :\ \textcolor{stringliteral}{"{}r"{}}\ ((uint32\_t)value)\ );}
\DoxyCodeLine{01509\ \}}
\DoxyCodeLine{01510\ }
\DoxyCodeLine{01511\ }
\DoxyCodeLine{01518\ \_\_STATIC\_FORCEINLINE\ uint8\_t\ \_\_LDAEXB(\textcolor{keyword}{volatile}\ uint8\_t\ *ptr)}
\DoxyCodeLine{01519\ \{}
\DoxyCodeLine{01520\ \ \ \ \ uint32\_t\ result;}
\DoxyCodeLine{01521\ }
\DoxyCodeLine{01522\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}ldaexb\ \%0,\ \%1"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}Q"{}}\ (*ptr)\ );}
\DoxyCodeLine{01523\ \ \ \ \textcolor{keywordflow}{return}\ ((uint8\_t)\ result);}
\DoxyCodeLine{01524\ \}}
\DoxyCodeLine{01525\ }
\DoxyCodeLine{01526\ }
\DoxyCodeLine{01533\ \_\_STATIC\_FORCEINLINE\ uint16\_t\ \_\_LDAEXH(\textcolor{keyword}{volatile}\ uint16\_t\ *ptr)}
\DoxyCodeLine{01534\ \{}
\DoxyCodeLine{01535\ \ \ \ \ uint32\_t\ result;}
\DoxyCodeLine{01536\ }
\DoxyCodeLine{01537\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}ldaexh\ \%0,\ \%1"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}Q"{}}\ (*ptr)\ );}
\DoxyCodeLine{01538\ \ \ \ \textcolor{keywordflow}{return}\ ((uint16\_t)\ result);}
\DoxyCodeLine{01539\ \}}
\DoxyCodeLine{01540\ }
\DoxyCodeLine{01541\ }
\DoxyCodeLine{01548\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_LDAEX(\textcolor{keyword}{volatile}\ uint32\_t\ *ptr)}
\DoxyCodeLine{01549\ \{}
\DoxyCodeLine{01550\ \ \ \ \ uint32\_t\ result;}
\DoxyCodeLine{01551\ }
\DoxyCodeLine{01552\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}ldaex\ \%0,\ \%1"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}Q"{}}\ (*ptr)\ );}
\DoxyCodeLine{01553\ \ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01554\ \}}
\DoxyCodeLine{01555\ }
\DoxyCodeLine{01556\ }
\DoxyCodeLine{01565\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_STLEXB(uint8\_t\ value,\ \textcolor{keyword}{volatile}\ uint8\_t\ *ptr)}
\DoxyCodeLine{01566\ \{}
\DoxyCodeLine{01567\ \ \ \ uint32\_t\ result;}
\DoxyCodeLine{01568\ }
\DoxyCodeLine{01569\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}stlexb\ \%0,\ \%2,\ \%1"{}}\ :\ \textcolor{stringliteral}{"{}=\&r"{}}\ (result),\ \textcolor{stringliteral}{"{}=Q"{}}\ (*ptr)\ :\ \textcolor{stringliteral}{"{}r"{}}\ ((uint32\_t)value)\ );}
\DoxyCodeLine{01570\ \ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01571\ \}}
\DoxyCodeLine{01572\ }
\DoxyCodeLine{01573\ }
\DoxyCodeLine{01582\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_STLEXH(uint16\_t\ value,\ \textcolor{keyword}{volatile}\ uint16\_t\ *ptr)}
\DoxyCodeLine{01583\ \{}
\DoxyCodeLine{01584\ \ \ \ uint32\_t\ result;}
\DoxyCodeLine{01585\ }
\DoxyCodeLine{01586\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}stlexh\ \%0,\ \%2,\ \%1"{}}\ :\ \textcolor{stringliteral}{"{}=\&r"{}}\ (result),\ \textcolor{stringliteral}{"{}=Q"{}}\ (*ptr)\ :\ \textcolor{stringliteral}{"{}r"{}}\ ((uint32\_t)value)\ );}
\DoxyCodeLine{01587\ \ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01588\ \}}
\DoxyCodeLine{01589\ }
\DoxyCodeLine{01590\ }
\DoxyCodeLine{01599\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_STLEX(uint32\_t\ value,\ \textcolor{keyword}{volatile}\ uint32\_t\ *ptr)}
\DoxyCodeLine{01600\ \{}
\DoxyCodeLine{01601\ \ \ \ uint32\_t\ result;}
\DoxyCodeLine{01602\ }
\DoxyCodeLine{01603\ \ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}stlex\ \%0,\ \%2,\ \%1"{}}\ :\ \textcolor{stringliteral}{"{}=\&r"{}}\ (result),\ \textcolor{stringliteral}{"{}=Q"{}}\ (*ptr)\ :\ \textcolor{stringliteral}{"{}r"{}}\ ((uint32\_t)value)\ );}
\DoxyCodeLine{01604\ \ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01605\ \}}
\DoxyCodeLine{01606\ }
\DoxyCodeLine{01607\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{/*\ ((defined\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_MAIN\_\_\ ==\ 1))\ ||\ \(\backslash\)}}
\DoxyCodeLine{01608\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ (defined\ (\_\_ARM\_ARCH\_8M\_BASE\_\_\ )\ \&\&\ (\_\_ARM\_ARCH\_8M\_BASE\_\_\ ==\ 1))\ \ \ \ )\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{01609\ \ \textcolor{comment}{/*\ end\ of\ group\ CMSIS\_Core\_InstructionInterface\ */}}
\DoxyCodeLine{01611\ }
\DoxyCodeLine{01612\ }
\DoxyCodeLine{01613\ \textcolor{comment}{/*\ \#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\ \ Compiler\ specific\ Intrinsics\ \ \#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\ */}}
\DoxyCodeLine{01618\ }
\DoxyCodeLine{01619\ \textcolor{preprocessor}{\#if\ (defined\ (\_\_ARM\_FEATURE\_DSP)\ \&\&\ (\_\_ARM\_FEATURE\_DSP\ ==\ 1))}}
\DoxyCodeLine{01620\ }
\DoxyCodeLine{01621\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_SADD8(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01622\ \{}
\DoxyCodeLine{01623\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01624\ }
\DoxyCodeLine{01625\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}sadd8\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01626\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01627\ \}}
\DoxyCodeLine{01628\ }
\DoxyCodeLine{01629\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_QADD8(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01630\ \{}
\DoxyCodeLine{01631\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01632\ }
\DoxyCodeLine{01633\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}qadd8\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01634\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01635\ \}}
\DoxyCodeLine{01636\ }
\DoxyCodeLine{01637\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_SHADD8(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01638\ \{}
\DoxyCodeLine{01639\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01640\ }
\DoxyCodeLine{01641\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}shadd8\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01642\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01643\ \}}
\DoxyCodeLine{01644\ }
\DoxyCodeLine{01645\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_UADD8(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01646\ \{}
\DoxyCodeLine{01647\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01648\ }
\DoxyCodeLine{01649\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}uadd8\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01650\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01651\ \}}
\DoxyCodeLine{01652\ }
\DoxyCodeLine{01653\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_UQADD8(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01654\ \{}
\DoxyCodeLine{01655\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01656\ }
\DoxyCodeLine{01657\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}uqadd8\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01658\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01659\ \}}
\DoxyCodeLine{01660\ }
\DoxyCodeLine{01661\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_UHADD8(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01662\ \{}
\DoxyCodeLine{01663\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01664\ }
\DoxyCodeLine{01665\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}uhadd8\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01666\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01667\ \}}
\DoxyCodeLine{01668\ }
\DoxyCodeLine{01669\ }
\DoxyCodeLine{01670\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_SSUB8(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01671\ \{}
\DoxyCodeLine{01672\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01673\ }
\DoxyCodeLine{01674\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}ssub8\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01675\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01676\ \}}
\DoxyCodeLine{01677\ }
\DoxyCodeLine{01678\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_QSUB8(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01679\ \{}
\DoxyCodeLine{01680\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01681\ }
\DoxyCodeLine{01682\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}qsub8\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01683\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01684\ \}}
\DoxyCodeLine{01685\ }
\DoxyCodeLine{01686\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_SHSUB8(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01687\ \{}
\DoxyCodeLine{01688\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01689\ }
\DoxyCodeLine{01690\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}shsub8\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01691\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01692\ \}}
\DoxyCodeLine{01693\ }
\DoxyCodeLine{01694\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_USUB8(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01695\ \{}
\DoxyCodeLine{01696\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01697\ }
\DoxyCodeLine{01698\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}usub8\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01699\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01700\ \}}
\DoxyCodeLine{01701\ }
\DoxyCodeLine{01702\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_UQSUB8(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01703\ \{}
\DoxyCodeLine{01704\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01705\ }
\DoxyCodeLine{01706\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}uqsub8\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01707\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01708\ \}}
\DoxyCodeLine{01709\ }
\DoxyCodeLine{01710\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_UHSUB8(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01711\ \{}
\DoxyCodeLine{01712\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01713\ }
\DoxyCodeLine{01714\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}uhsub8\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01715\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01716\ \}}
\DoxyCodeLine{01717\ }
\DoxyCodeLine{01718\ }
\DoxyCodeLine{01719\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_SADD16(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01720\ \{}
\DoxyCodeLine{01721\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01722\ }
\DoxyCodeLine{01723\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}sadd16\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01724\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01725\ \}}
\DoxyCodeLine{01726\ }
\DoxyCodeLine{01727\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_QADD16(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01728\ \{}
\DoxyCodeLine{01729\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01730\ }
\DoxyCodeLine{01731\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}qadd16\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01732\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01733\ \}}
\DoxyCodeLine{01734\ }
\DoxyCodeLine{01735\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_SHADD16(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01736\ \{}
\DoxyCodeLine{01737\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01738\ }
\DoxyCodeLine{01739\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}shadd16\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01740\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01741\ \}}
\DoxyCodeLine{01742\ }
\DoxyCodeLine{01743\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_UADD16(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01744\ \{}
\DoxyCodeLine{01745\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01746\ }
\DoxyCodeLine{01747\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}uadd16\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01748\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01749\ \}}
\DoxyCodeLine{01750\ }
\DoxyCodeLine{01751\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_UQADD16(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01752\ \{}
\DoxyCodeLine{01753\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01754\ }
\DoxyCodeLine{01755\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}uqadd16\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01756\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01757\ \}}
\DoxyCodeLine{01758\ }
\DoxyCodeLine{01759\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_UHADD16(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01760\ \{}
\DoxyCodeLine{01761\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01762\ }
\DoxyCodeLine{01763\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}uhadd16\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01764\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01765\ \}}
\DoxyCodeLine{01766\ }
\DoxyCodeLine{01767\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_SSUB16(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01768\ \{}
\DoxyCodeLine{01769\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01770\ }
\DoxyCodeLine{01771\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}ssub16\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01772\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01773\ \}}
\DoxyCodeLine{01774\ }
\DoxyCodeLine{01775\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_QSUB16(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01776\ \{}
\DoxyCodeLine{01777\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01778\ }
\DoxyCodeLine{01779\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}qsub16\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01780\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01781\ \}}
\DoxyCodeLine{01782\ }
\DoxyCodeLine{01783\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_SHSUB16(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01784\ \{}
\DoxyCodeLine{01785\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01786\ }
\DoxyCodeLine{01787\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}shsub16\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01788\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01789\ \}}
\DoxyCodeLine{01790\ }
\DoxyCodeLine{01791\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_USUB16(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01792\ \{}
\DoxyCodeLine{01793\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01794\ }
\DoxyCodeLine{01795\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}usub16\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01796\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01797\ \}}
\DoxyCodeLine{01798\ }
\DoxyCodeLine{01799\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_UQSUB16(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01800\ \{}
\DoxyCodeLine{01801\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01802\ }
\DoxyCodeLine{01803\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}uqsub16\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01804\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01805\ \}}
\DoxyCodeLine{01806\ }
\DoxyCodeLine{01807\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_UHSUB16(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01808\ \{}
\DoxyCodeLine{01809\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01810\ }
\DoxyCodeLine{01811\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}uhsub16\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01812\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01813\ \}}
\DoxyCodeLine{01814\ }
\DoxyCodeLine{01815\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_SASX(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01816\ \{}
\DoxyCodeLine{01817\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01818\ }
\DoxyCodeLine{01819\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}sasx\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01820\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01821\ \}}
\DoxyCodeLine{01822\ }
\DoxyCodeLine{01823\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_QASX(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01824\ \{}
\DoxyCodeLine{01825\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01826\ }
\DoxyCodeLine{01827\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}qasx\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01828\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01829\ \}}
\DoxyCodeLine{01830\ }
\DoxyCodeLine{01831\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_SHASX(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01832\ \{}
\DoxyCodeLine{01833\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01834\ }
\DoxyCodeLine{01835\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}shasx\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01836\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01837\ \}}
\DoxyCodeLine{01838\ }
\DoxyCodeLine{01839\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_UASX(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01840\ \{}
\DoxyCodeLine{01841\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01842\ }
\DoxyCodeLine{01843\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}uasx\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01844\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01845\ \}}
\DoxyCodeLine{01846\ }
\DoxyCodeLine{01847\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_UQASX(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01848\ \{}
\DoxyCodeLine{01849\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01850\ }
\DoxyCodeLine{01851\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}uqasx\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01852\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01853\ \}}
\DoxyCodeLine{01854\ }
\DoxyCodeLine{01855\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_UHASX(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01856\ \{}
\DoxyCodeLine{01857\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01858\ }
\DoxyCodeLine{01859\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}uhasx\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01860\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01861\ \}}
\DoxyCodeLine{01862\ }
\DoxyCodeLine{01863\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_SSAX(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01864\ \{}
\DoxyCodeLine{01865\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01866\ }
\DoxyCodeLine{01867\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}ssax\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01868\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01869\ \}}
\DoxyCodeLine{01870\ }
\DoxyCodeLine{01871\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_QSAX(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01872\ \{}
\DoxyCodeLine{01873\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01874\ }
\DoxyCodeLine{01875\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}qsax\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01876\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01877\ \}}
\DoxyCodeLine{01878\ }
\DoxyCodeLine{01879\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_SHSAX(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01880\ \{}
\DoxyCodeLine{01881\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01882\ }
\DoxyCodeLine{01883\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}shsax\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01884\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01885\ \}}
\DoxyCodeLine{01886\ }
\DoxyCodeLine{01887\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_USAX(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01888\ \{}
\DoxyCodeLine{01889\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01890\ }
\DoxyCodeLine{01891\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}usax\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01892\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01893\ \}}
\DoxyCodeLine{01894\ }
\DoxyCodeLine{01895\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_UQSAX(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01896\ \{}
\DoxyCodeLine{01897\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01898\ }
\DoxyCodeLine{01899\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}uqsax\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01900\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01901\ \}}
\DoxyCodeLine{01902\ }
\DoxyCodeLine{01903\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_UHSAX(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01904\ \{}
\DoxyCodeLine{01905\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01906\ }
\DoxyCodeLine{01907\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}uhsax\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01908\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01909\ \}}
\DoxyCodeLine{01910\ }
\DoxyCodeLine{01911\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_USAD8(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01912\ \{}
\DoxyCodeLine{01913\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01914\ }
\DoxyCodeLine{01915\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}usad8\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01916\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01917\ \}}
\DoxyCodeLine{01918\ }
\DoxyCodeLine{01919\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_USADA8(uint32\_t\ op1,\ uint32\_t\ op2,\ uint32\_t\ op3)}
\DoxyCodeLine{01920\ \{}
\DoxyCodeLine{01921\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01922\ }
\DoxyCodeLine{01923\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}usada8\ \%0,\ \%1,\ \%2,\ \%3"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2),\ \textcolor{stringliteral}{"{}r"{}}\ (op3)\ );}
\DoxyCodeLine{01924\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01925\ \}}
\DoxyCodeLine{01926\ }
\DoxyCodeLine{01927\ \textcolor{preprocessor}{\#define\ \_\_SSAT16(ARG1,ARG2)\ \(\backslash\)}}
\DoxyCodeLine{01928\ \textcolor{preprocessor}{(\{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{01929\ \textcolor{preprocessor}{\ \ int32\_t\ \_\_RES,\ \_\_ARG1\ =\ (ARG1);\ \(\backslash\)}}
\DoxyCodeLine{01930\ \textcolor{preprocessor}{\ \ \_\_ASM\ ("{}ssat16\ \%0,\ \%1,\ \%2"{}\ :\ "{}=r"{}\ (\_\_RES)\ :\ \ "{}I"{}\ (ARG2),\ "{}r"{}\ (\_\_ARG1)\ );\ \(\backslash\)}}
\DoxyCodeLine{01931\ \textcolor{preprocessor}{\ \ \_\_RES;\ \(\backslash\)}}
\DoxyCodeLine{01932\ \textcolor{preprocessor}{\ \})}}
\DoxyCodeLine{01933\ }
\DoxyCodeLine{01934\ \textcolor{preprocessor}{\#define\ \_\_USAT16(ARG1,ARG2)\ \(\backslash\)}}
\DoxyCodeLine{01935\ \textcolor{preprocessor}{(\{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{01936\ \textcolor{preprocessor}{\ \ uint32\_t\ \_\_RES,\ \_\_ARG1\ =\ (ARG1);\ \(\backslash\)}}
\DoxyCodeLine{01937\ \textcolor{preprocessor}{\ \ \_\_ASM\ ("{}usat16\ \%0,\ \%1,\ \%2"{}\ :\ "{}=r"{}\ (\_\_RES)\ :\ \ "{}I"{}\ (ARG2),\ "{}r"{}\ (\_\_ARG1)\ );\ \(\backslash\)}}
\DoxyCodeLine{01938\ \textcolor{preprocessor}{\ \ \_\_RES;\ \(\backslash\)}}
\DoxyCodeLine{01939\ \textcolor{preprocessor}{\ \})}}
\DoxyCodeLine{01940\ }
\DoxyCodeLine{01941\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_UXTB16(uint32\_t\ op1)}
\DoxyCodeLine{01942\ \{}
\DoxyCodeLine{01943\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01944\ }
\DoxyCodeLine{01945\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}uxtb16\ \%0,\ \%1"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1));}
\DoxyCodeLine{01946\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01947\ \}}
\DoxyCodeLine{01948\ }
\DoxyCodeLine{01949\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_UXTAB16(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01950\ \{}
\DoxyCodeLine{01951\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01952\ }
\DoxyCodeLine{01953\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}uxtab16\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01954\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01955\ \}}
\DoxyCodeLine{01956\ }
\DoxyCodeLine{01957\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_SXTB16(uint32\_t\ op1)}
\DoxyCodeLine{01958\ \{}
\DoxyCodeLine{01959\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01960\ }
\DoxyCodeLine{01961\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}sxtb16\ \%0,\ \%1"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1));}
\DoxyCodeLine{01962\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01963\ \}}
\DoxyCodeLine{01964\ }
\DoxyCodeLine{01965\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_SXTAB16(uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01966\ \{}
\DoxyCodeLine{01967\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01968\ }
\DoxyCodeLine{01969\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}sxtab16\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01970\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01971\ \}}
\DoxyCodeLine{01972\ }
\DoxyCodeLine{01973\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_SMUAD\ \ (uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01974\ \{}
\DoxyCodeLine{01975\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01976\ }
\DoxyCodeLine{01977\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}smuad\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01978\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01979\ \}}
\DoxyCodeLine{01980\ }
\DoxyCodeLine{01981\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_SMUADX\ (uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{01982\ \{}
\DoxyCodeLine{01983\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01984\ }
\DoxyCodeLine{01985\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}smuadx\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{01986\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01987\ \}}
\DoxyCodeLine{01988\ }
\DoxyCodeLine{01989\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_SMLAD\ (uint32\_t\ op1,\ uint32\_t\ op2,\ uint32\_t\ op3)}
\DoxyCodeLine{01990\ \{}
\DoxyCodeLine{01991\ \ \ uint32\_t\ result;}
\DoxyCodeLine{01992\ }
\DoxyCodeLine{01993\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}smlad\ \%0,\ \%1,\ \%2,\ \%3"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2),\ \textcolor{stringliteral}{"{}r"{}}\ (op3)\ );}
\DoxyCodeLine{01994\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{01995\ \}}
\DoxyCodeLine{01996\ }
\DoxyCodeLine{01997\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_SMLADX\ (uint32\_t\ op1,\ uint32\_t\ op2,\ uint32\_t\ op3)}
\DoxyCodeLine{01998\ \{}
\DoxyCodeLine{01999\ \ \ uint32\_t\ result;}
\DoxyCodeLine{02000\ }
\DoxyCodeLine{02001\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}smladx\ \%0,\ \%1,\ \%2,\ \%3"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2),\ \textcolor{stringliteral}{"{}r"{}}\ (op3)\ );}
\DoxyCodeLine{02002\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{02003\ \}}
\DoxyCodeLine{02004\ }
\DoxyCodeLine{02005\ \_\_STATIC\_FORCEINLINE\ uint64\_t\ \_\_SMLALD\ (uint32\_t\ op1,\ uint32\_t\ op2,\ uint64\_t\ acc)}
\DoxyCodeLine{02006\ \{}
\DoxyCodeLine{02007\ \ \ \textcolor{keyword}{union\ }llreg\_u\{}
\DoxyCodeLine{02008\ \ \ \ \ uint32\_t\ w32[2];}
\DoxyCodeLine{02009\ \ \ \ \ uint64\_t\ w64;}
\DoxyCodeLine{02010\ \ \ \}\ llr;}
\DoxyCodeLine{02011\ \ \ llr.w64\ =\ acc;}
\DoxyCodeLine{02012\ }
\DoxyCodeLine{02013\ \textcolor{preprocessor}{\#ifndef\ \_\_ARMEB\_\_\ \ \ }\textcolor{comment}{/*\ Little\ endian\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{02014\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}smlald\ \%0,\ \%1,\ \%2,\ \%3"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (llr.w32[0]),\ \textcolor{stringliteral}{"{}=r"{}}\ (llr.w32[1]):\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ ,\ \textcolor{stringliteral}{"{}0"{}}\ (llr.w32[0]),\ \textcolor{stringliteral}{"{}1"{}}\ (llr.w32[1])\ );}
\DoxyCodeLine{02015\ \textcolor{preprocessor}{\#else\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{/*\ Big\ endian\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{02016\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}smlald\ \%0,\ \%1,\ \%2,\ \%3"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (llr.w32[1]),\ \textcolor{stringliteral}{"{}=r"{}}\ (llr.w32[0]):\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ ,\ \textcolor{stringliteral}{"{}0"{}}\ (llr.w32[1]),\ \textcolor{stringliteral}{"{}1"{}}\ (llr.w32[0])\ );}
\DoxyCodeLine{02017\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{02018\ }
\DoxyCodeLine{02019\ \ \ \textcolor{keywordflow}{return}(llr.w64);}
\DoxyCodeLine{02020\ \}}
\DoxyCodeLine{02021\ }
\DoxyCodeLine{02022\ \_\_STATIC\_FORCEINLINE\ uint64\_t\ \_\_SMLALDX\ (uint32\_t\ op1,\ uint32\_t\ op2,\ uint64\_t\ acc)}
\DoxyCodeLine{02023\ \{}
\DoxyCodeLine{02024\ \ \ \textcolor{keyword}{union\ }llreg\_u\{}
\DoxyCodeLine{02025\ \ \ \ \ uint32\_t\ w32[2];}
\DoxyCodeLine{02026\ \ \ \ \ uint64\_t\ w64;}
\DoxyCodeLine{02027\ \ \ \}\ llr;}
\DoxyCodeLine{02028\ \ \ llr.w64\ =\ acc;}
\DoxyCodeLine{02029\ }
\DoxyCodeLine{02030\ \textcolor{preprocessor}{\#ifndef\ \_\_ARMEB\_\_\ \ \ }\textcolor{comment}{/*\ Little\ endian\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{02031\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}smlaldx\ \%0,\ \%1,\ \%2,\ \%3"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (llr.w32[0]),\ \textcolor{stringliteral}{"{}=r"{}}\ (llr.w32[1]):\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ ,\ \textcolor{stringliteral}{"{}0"{}}\ (llr.w32[0]),\ \textcolor{stringliteral}{"{}1"{}}\ (llr.w32[1])\ );}
\DoxyCodeLine{02032\ \textcolor{preprocessor}{\#else\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{/*\ Big\ endian\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{02033\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}smlaldx\ \%0,\ \%1,\ \%2,\ \%3"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (llr.w32[1]),\ \textcolor{stringliteral}{"{}=r"{}}\ (llr.w32[0]):\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ ,\ \textcolor{stringliteral}{"{}0"{}}\ (llr.w32[1]),\ \textcolor{stringliteral}{"{}1"{}}\ (llr.w32[0])\ );}
\DoxyCodeLine{02034\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{02035\ }
\DoxyCodeLine{02036\ \ \ \textcolor{keywordflow}{return}(llr.w64);}
\DoxyCodeLine{02037\ \}}
\DoxyCodeLine{02038\ }
\DoxyCodeLine{02039\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_SMUSD\ \ (uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{02040\ \{}
\DoxyCodeLine{02041\ \ \ uint32\_t\ result;}
\DoxyCodeLine{02042\ }
\DoxyCodeLine{02043\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}smusd\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{02044\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{02045\ \}}
\DoxyCodeLine{02046\ }
\DoxyCodeLine{02047\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_SMUSDX\ (uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{02048\ \{}
\DoxyCodeLine{02049\ \ \ uint32\_t\ result;}
\DoxyCodeLine{02050\ }
\DoxyCodeLine{02051\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}smusdx\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{02052\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{02053\ \}}
\DoxyCodeLine{02054\ }
\DoxyCodeLine{02055\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_SMLSD\ (uint32\_t\ op1,\ uint32\_t\ op2,\ uint32\_t\ op3)}
\DoxyCodeLine{02056\ \{}
\DoxyCodeLine{02057\ \ \ uint32\_t\ result;}
\DoxyCodeLine{02058\ }
\DoxyCodeLine{02059\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}smlsd\ \%0,\ \%1,\ \%2,\ \%3"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2),\ \textcolor{stringliteral}{"{}r"{}}\ (op3)\ );}
\DoxyCodeLine{02060\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{02061\ \}}
\DoxyCodeLine{02062\ }
\DoxyCodeLine{02063\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_SMLSDX\ (uint32\_t\ op1,\ uint32\_t\ op2,\ uint32\_t\ op3)}
\DoxyCodeLine{02064\ \{}
\DoxyCodeLine{02065\ \ \ uint32\_t\ result;}
\DoxyCodeLine{02066\ }
\DoxyCodeLine{02067\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}smlsdx\ \%0,\ \%1,\ \%2,\ \%3"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2),\ \textcolor{stringliteral}{"{}r"{}}\ (op3)\ );}
\DoxyCodeLine{02068\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{02069\ \}}
\DoxyCodeLine{02070\ }
\DoxyCodeLine{02071\ \_\_STATIC\_FORCEINLINE\ uint64\_t\ \_\_SMLSLD\ (uint32\_t\ op1,\ uint32\_t\ op2,\ uint64\_t\ acc)}
\DoxyCodeLine{02072\ \{}
\DoxyCodeLine{02073\ \ \ \textcolor{keyword}{union\ }llreg\_u\{}
\DoxyCodeLine{02074\ \ \ \ \ uint32\_t\ w32[2];}
\DoxyCodeLine{02075\ \ \ \ \ uint64\_t\ w64;}
\DoxyCodeLine{02076\ \ \ \}\ llr;}
\DoxyCodeLine{02077\ \ \ llr.w64\ =\ acc;}
\DoxyCodeLine{02078\ }
\DoxyCodeLine{02079\ \textcolor{preprocessor}{\#ifndef\ \_\_ARMEB\_\_\ \ \ }\textcolor{comment}{/*\ Little\ endian\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{02080\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}smlsld\ \%0,\ \%1,\ \%2,\ \%3"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (llr.w32[0]),\ \textcolor{stringliteral}{"{}=r"{}}\ (llr.w32[1]):\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ ,\ \textcolor{stringliteral}{"{}0"{}}\ (llr.w32[0]),\ \textcolor{stringliteral}{"{}1"{}}\ (llr.w32[1])\ );}
\DoxyCodeLine{02081\ \textcolor{preprocessor}{\#else\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{/*\ Big\ endian\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{02082\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}smlsld\ \%0,\ \%1,\ \%2,\ \%3"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (llr.w32[1]),\ \textcolor{stringliteral}{"{}=r"{}}\ (llr.w32[0]):\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ ,\ \textcolor{stringliteral}{"{}0"{}}\ (llr.w32[1]),\ \textcolor{stringliteral}{"{}1"{}}\ (llr.w32[0])\ );}
\DoxyCodeLine{02083\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{02084\ }
\DoxyCodeLine{02085\ \ \ \textcolor{keywordflow}{return}(llr.w64);}
\DoxyCodeLine{02086\ \}}
\DoxyCodeLine{02087\ }
\DoxyCodeLine{02088\ \_\_STATIC\_FORCEINLINE\ uint64\_t\ \_\_SMLSLDX\ (uint32\_t\ op1,\ uint32\_t\ op2,\ uint64\_t\ acc)}
\DoxyCodeLine{02089\ \{}
\DoxyCodeLine{02090\ \ \ \textcolor{keyword}{union\ }llreg\_u\{}
\DoxyCodeLine{02091\ \ \ \ \ uint32\_t\ w32[2];}
\DoxyCodeLine{02092\ \ \ \ \ uint64\_t\ w64;}
\DoxyCodeLine{02093\ \ \ \}\ llr;}
\DoxyCodeLine{02094\ \ \ llr.w64\ =\ acc;}
\DoxyCodeLine{02095\ }
\DoxyCodeLine{02096\ \textcolor{preprocessor}{\#ifndef\ \_\_ARMEB\_\_\ \ \ }\textcolor{comment}{/*\ Little\ endian\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{02097\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}smlsldx\ \%0,\ \%1,\ \%2,\ \%3"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (llr.w32[0]),\ \textcolor{stringliteral}{"{}=r"{}}\ (llr.w32[1]):\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ ,\ \textcolor{stringliteral}{"{}0"{}}\ (llr.w32[0]),\ \textcolor{stringliteral}{"{}1"{}}\ (llr.w32[1])\ );}
\DoxyCodeLine{02098\ \textcolor{preprocessor}{\#else\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{/*\ Big\ endian\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{02099\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}smlsldx\ \%0,\ \%1,\ \%2,\ \%3"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (llr.w32[1]),\ \textcolor{stringliteral}{"{}=r"{}}\ (llr.w32[0]):\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ ,\ \textcolor{stringliteral}{"{}0"{}}\ (llr.w32[1]),\ \textcolor{stringliteral}{"{}1"{}}\ (llr.w32[0])\ );}
\DoxyCodeLine{02100\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{02101\ }
\DoxyCodeLine{02102\ \ \ \textcolor{keywordflow}{return}(llr.w64);}
\DoxyCodeLine{02103\ \}}
\DoxyCodeLine{02104\ }
\DoxyCodeLine{02105\ \_\_STATIC\_FORCEINLINE\ uint32\_t\ \_\_SEL\ \ (uint32\_t\ op1,\ uint32\_t\ op2)}
\DoxyCodeLine{02106\ \{}
\DoxyCodeLine{02107\ \ \ uint32\_t\ result;}
\DoxyCodeLine{02108\ }
\DoxyCodeLine{02109\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}sel\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{02110\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{02111\ \}}
\DoxyCodeLine{02112\ }
\DoxyCodeLine{02113\ \_\_STATIC\_FORCEINLINE\ \ int32\_t\ \_\_QADD(\ int32\_t\ op1,\ \ int32\_t\ op2)}
\DoxyCodeLine{02114\ \{}
\DoxyCodeLine{02115\ \ \ int32\_t\ result;}
\DoxyCodeLine{02116\ }
\DoxyCodeLine{02117\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}qadd\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{02118\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{02119\ \}}
\DoxyCodeLine{02120\ }
\DoxyCodeLine{02121\ \_\_STATIC\_FORCEINLINE\ \ int32\_t\ \_\_QSUB(\ int32\_t\ op1,\ \ int32\_t\ op2)}
\DoxyCodeLine{02122\ \{}
\DoxyCodeLine{02123\ \ \ int32\_t\ result;}
\DoxyCodeLine{02124\ }
\DoxyCodeLine{02125\ \ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}qsub\ \%0,\ \%1,\ \%2"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result)\ :\ \textcolor{stringliteral}{"{}r"{}}\ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2)\ );}
\DoxyCodeLine{02126\ \ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{02127\ \}}
\DoxyCodeLine{02128\ }
\DoxyCodeLine{02129\ \textcolor{preprocessor}{\#if\ 0}}
\DoxyCodeLine{02130\ \textcolor{preprocessor}{\#define\ \_\_PKHBT(ARG1,ARG2,ARG3)\ \(\backslash\)}}
\DoxyCodeLine{02131\ \textcolor{preprocessor}{(\{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{02132\ \textcolor{preprocessor}{\ \ uint32\_t\ \_\_RES,\ \_\_ARG1\ =\ (ARG1),\ \_\_ARG2\ =\ (ARG2);\ \(\backslash\)}}
\DoxyCodeLine{02133\ \textcolor{preprocessor}{\ \ \_\_ASM\ ("{}pkhbt\ \%0,\ \%1,\ \%2,\ lsl\ \%3"{}\ :\ "{}=r"{}\ (\_\_RES)\ :\ \ "{}r"{}\ (\_\_ARG1),\ "{}r"{}\ (\_\_ARG2),\ "{}I"{}\ (ARG3)\ \ );\ \(\backslash\)}}
\DoxyCodeLine{02134\ \textcolor{preprocessor}{\ \ \_\_RES;\ \(\backslash\)}}
\DoxyCodeLine{02135\ \textcolor{preprocessor}{\ \})}}
\DoxyCodeLine{02136\ }
\DoxyCodeLine{02137\ \textcolor{preprocessor}{\#define\ \_\_PKHTB(ARG1,ARG2,ARG3)\ \(\backslash\)}}
\DoxyCodeLine{02138\ \textcolor{preprocessor}{(\{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{02139\ \textcolor{preprocessor}{\ \ uint32\_t\ \_\_RES,\ \_\_ARG1\ =\ (ARG1),\ \_\_ARG2\ =\ (ARG2);\ \(\backslash\)}}
\DoxyCodeLine{02140\ \textcolor{preprocessor}{\ \ if\ (ARG3\ ==\ 0)\ \(\backslash\)}}
\DoxyCodeLine{02141\ \textcolor{preprocessor}{\ \ \ \ \_\_ASM\ ("{}pkhtb\ \%0,\ \%1,\ \%2"{}\ :\ "{}=r"{}\ (\_\_RES)\ :\ \ "{}r"{}\ (\_\_ARG1),\ "{}r"{}\ (\_\_ARG2)\ \ );\ \(\backslash\)}}
\DoxyCodeLine{02142\ \textcolor{preprocessor}{\ \ else\ \(\backslash\)}}
\DoxyCodeLine{02143\ \textcolor{preprocessor}{\ \ \ \ \_\_ASM\ ("{}pkhtb\ \%0,\ \%1,\ \%2,\ asr\ \%3"{}\ :\ "{}=r"{}\ (\_\_RES)\ :\ \ "{}r"{}\ (\_\_ARG1),\ "{}r"{}\ (\_\_ARG2),\ "{}I"{}\ (ARG3)\ \ );\ \(\backslash\)}}
\DoxyCodeLine{02144\ \textcolor{preprocessor}{\ \ \_\_RES;\ \(\backslash\)}}
\DoxyCodeLine{02145\ \textcolor{preprocessor}{\ \})}}
\DoxyCodeLine{02146\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{02147\ }
\DoxyCodeLine{02148\ \textcolor{preprocessor}{\#define\ \_\_PKHBT(ARG1,ARG2,ARG3)\ \ \ \ \ \ \ \ \ \ (\ ((((uint32\_t)(ARG1))\ \ \ \ \ \ \ \ \ \ )\ \&\ 0x0000FFFFUL)\ |\ \ \(\backslash\)}}
\DoxyCodeLine{02149\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ((((uint32\_t)(ARG2))\ <<\ (ARG3))\ \&\ 0xFFFF0000UL)\ \ )}}
\DoxyCodeLine{02150\ }
\DoxyCodeLine{02151\ \textcolor{preprocessor}{\#define\ \_\_PKHTB(ARG1,ARG2,ARG3)\ \ \ \ \ \ \ \ \ \ (\ ((((uint32\_t)(ARG1))\ \ \ \ \ \ \ \ \ \ )\ \&\ 0xFFFF0000UL)\ |\ \ \(\backslash\)}}
\DoxyCodeLine{02152\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ((((uint32\_t)(ARG2))\ >>\ (ARG3))\ \&\ 0x0000FFFFUL)\ \ )}}
\DoxyCodeLine{02153\ }
\DoxyCodeLine{02154\ \_\_STATIC\_FORCEINLINE\ int32\_t\ \_\_SMMLA\ (int32\_t\ op1,\ int32\_t\ op2,\ int32\_t\ op3)}
\DoxyCodeLine{02155\ \{}
\DoxyCodeLine{02156\ \ int32\_t\ result;}
\DoxyCodeLine{02157\ }
\DoxyCodeLine{02158\ \ \_\_ASM\ \textcolor{keyword}{volatile}\ (\textcolor{stringliteral}{"{}smmla\ \%0,\ \%1,\ \%2,\ \%3"{}}\ :\ \textcolor{stringliteral}{"{}=r"{}}\ (result):\ \textcolor{stringliteral}{"{}r"{}}\ \ (op1),\ \textcolor{stringliteral}{"{}r"{}}\ (op2),\ \textcolor{stringliteral}{"{}r"{}}\ (op3)\ );}
\DoxyCodeLine{02159\ \ \textcolor{keywordflow}{return}(result);}
\DoxyCodeLine{02160\ \}}
\DoxyCodeLine{02161\ }
\DoxyCodeLine{02162\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{/*\ (\_\_ARM\_FEATURE\_DSP\ ==\ 1)\ */}\textcolor{preprocessor}{}\textcolor{preprocessor}{}}
\DoxyCodeLine{02164\ }
\DoxyCodeLine{02165\ }
\DoxyCodeLine{02166\ \textcolor{preprocessor}{\#pragma\ GCC\ diagnostic\ pop}}
\DoxyCodeLine{02167\ }
\DoxyCodeLine{02168\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{/*\ \_\_CMSIS\_GCC\_H\ */}\textcolor{preprocessor}{}}

\end{DoxyCode}
